{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 音乐网站用户流失预测——探索性数据分析与处理\n",
    "\n",
    "\n",
    "KKBox是亚洲领先的音乐流媒体服务，于2005年创立，拥有世界上最全面的亚洲流行音乐库。其以独创的云端技术提供音乐串流服务，让用户通过网络即可播放储存在云端的歌曲。除此之外，还以技术加密媒体文件DRM（Digital Rights Management），成功地在音乐和知识产权之间取得完美的平衡与保护，打开了在线音乐合法授权的版权观念，更凭此商业模式在亚洲市场成为标竿品牌。\n",
    "\n",
    "至今为止，KKBox拥有超过 4000 万首曲目，其服务地区包括台湾、香港、日本、新加坡及马来西亚。那么通过挖掘海量的历史音乐欣赏记录，像KKBox这种流媒体服务可以为用户提供更多的个性化音乐推荐。所以，利用Kaggle提供的数据集，来预测KKBox用户在触发了第一个听歌曲事件后，在一个月内重复聆听该歌曲的可能性，若用户重复聆听了歌曲，则标记为1，否则为0。\n",
    "\n",
    "\n",
    "KKBox官网简介：https://www.kkbox.com/about/zh-cn/about  \n",
    "原始数据集地址：https://www.kaggle.com/c/kkbox-music-recommendation-challenge\n",
    "\n",
    "\n",
    "\n",
    "## 一、导入相关包和数据\n",
    "\n",
    "    train训练集，是由2017年2月服务到期的用户构成，target标签代表用户在2017年3月是否续订了业务。而test测试集，则是由2017年3月内将到期的用户构成，需要预测用户是否在到期后的一个月内，即2017年4月续订业务。最后，歌曲重复播放记录和用户/歌曲元数据，分别是用户信息members、歌曲信息songs、歌曲名称的信息song_extra_info。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据读取及基本处理\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# 可视化数据信息\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sn\n",
    "%matplotlib inline\n",
    "sn.set_style('whitegrid')\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 读取数据：听歌历史记录\n",
    "df_train = pd.read_csv(\"data/train.csv\")\n",
    "df_test = pd.read_csv(\"data/test.csv\")\n",
    "\n",
    "# 用户信息\n",
    "# df_members = pd.read_csv(\"data/members.csv\", parse_dates=[\"registration_init_time\",\"expiration_date\"])\n",
    "df_members = pd.read_csv(\"data/members.csv\")\n",
    "\n",
    "# 歌曲信息\n",
    "df_songs = pd.read_csv(\"data/songs.csv\")\n",
    "df_songs_extra = pd.read_csv(\"data/song_extra_info.csv\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 二、数据探索\n",
    "\n",
    "### 2.1、用户听歌记录（train.csv）\n",
    "\n",
    "#### （1）字段说明\n",
    "\n",
    "    msno：                      用户id（加密String）\n",
    "    song_id：                   歌曲id\n",
    "    source_system_tab:     触发收听事件的选项卡类型，用于表示app的功能类型\n",
    "    source_screen_name：用户看到的布局的名称\n",
    "    source_type:               用户在app上播放音乐的入口（如专辑、在线播放列表、歌曲等）\n",
    "\n",
    "    target:                       标签变量，1表示用户会在第一次听音乐后的一个月内重复收听（继续订阅），0表示不会订阅。\n",
    "    \n",
    "\n",
    "#### （2）数据基本信息\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>msno</th>\n",
       "      <th>song_id</th>\n",
       "      <th>source_system_tab</th>\n",
       "      <th>source_screen_name</th>\n",
       "      <th>source_type</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=</td>\n",
       "      <td>BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=</td>\n",
       "      <td>explore</td>\n",
       "      <td>Explore</td>\n",
       "      <td>online-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=</td>\n",
       "      <td>my library</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=</td>\n",
       "      <td>my library</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=</td>\n",
       "      <td>my library</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=</td>\n",
       "      <td>3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=</td>\n",
       "      <td>explore</td>\n",
       "      <td>Explore</td>\n",
       "      <td>online-playlist</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           msno  \\\n",
       "0  FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=   \n",
       "1  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "2  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "3  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "4  FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=   \n",
       "\n",
       "                                        song_id source_system_tab  \\\n",
       "0  BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=           explore   \n",
       "1  bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=        my library   \n",
       "2  JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=        my library   \n",
       "3  2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=        my library   \n",
       "4  3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=           explore   \n",
       "\n",
       "    source_screen_name      source_type  target  \n",
       "0              Explore  online-playlist       1  \n",
       "1  Local playlist more   local-playlist       1  \n",
       "2  Local playlist more   local-playlist       1  \n",
       "3  Local playlist more   local-playlist       1  \n",
       "4              Explore  online-playlist       1  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    数据数目和维度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7377418, 6)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    异常值检测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "msno                       0\n",
       "song_id                    0\n",
       "source_system_tab      24849\n",
       "source_screen_name    414804\n",
       "source_type            21539\n",
       "target                     0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.apply(lambda x: sum(x.isnull()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    各项异常值比率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "source_system_tab_rate：0.336825%\n",
      "source_screen_name_rate：5.622618%\n",
      "source_type_rate：0.291959%\n"
     ]
    }
   ],
   "source": [
    "print(\"source_system_tab_rate：{:%}\".format(sum(df_train['source_system_tab'].isnull()) / df_train.shape[0]))\n",
    "print(\"source_screen_name_rate：{:%}\".format(sum(df_train['source_screen_name'].isnull()) / df_train.shape[0]))\n",
    "print(\"source_type_rate：{:%}\".format(sum(df_train['source_type'].isnull()) / df_train.shape[0]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （3）标签分布\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a9a6f8278>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_train['target'].hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （4）类别型变量\n",
    "\n",
    "    频率表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "msno 属性的不同取值和出现的次数\n",
      "MXIMDXO0j3UpaT7FvOSGW6Y5zfhlh+xYjTqGoUdMzEE=    5819\n",
      "o+5RNlSWrzvrphgBNGIo1FLkGxBgyICns6qXj3nS7Pk=    5537\n",
      "FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=    5511\n",
      "KGXNZ/H3VxvET/+rGxlrAe7Gpz2eKMXyuSg3xh8Ij1M=    4217\n",
      "cqjRBV/jWN2ujhc+z/4tz+Mj6xEfflAAt6qBXCqxKvw=    4008\n",
      "hYJpPvGod6vy09TnlXdQe3Q0vlxju5u5Ruf8V2XkTio=    3926\n",
      "SZ5NNypqaTWljFO1HiVZwkw3713+rM9x/JNdJd8/fzc=    3733\n",
      "dU4RbzpIRRd/EkA9Xncpy9CglzDBZp7nKMfdnfr3Aj8=    3686\n",
      "OOUnJuX4SteRhUdJZ9B2DqtfiwsfcZVBefEhXLeBsFg=    3239\n",
      "frZtrrN1Y2ZqZX3VFiq7FpAvLth3kZJNovT9cmyn2O4=    3177\n",
      "7xiBI5xU3P2/IiR9teB7jySfzWo96JGikGajteLd3Cs=    3133\n",
      "4tuTIArXO3WO8/zS9y2CC34ywEfChjAKUchlKW00DMM=    3030\n",
      "JkQacE3rvmhh65R04eDLbu+M7MCkpzmHwMGrbZo0puc=    3027\n",
      "gxxBbzV3eE2XGjUrFVB2FzAve55Oe1s86HD+OEh36Gw=    2973\n",
      "1d4acB2bhEZCFjSRwvO4ls8PrBtvNTlkcAcxYx8FcWE=    2930\n",
      "jL7ukei/Kb4gDCfTG4+VhV4TzLaDecjji/aW+GqWvac=    2922\n",
      "y3IT85vrzY2iBxFg6nsh4Cmg+mV3oqR73TPekK7x1Rc=    2895\n",
      "YU6fAgCFgPkaJ1YSW2838KzGTxmBCfgousTO8jwuHYM=    2883\n",
      "TxneOykZ/MOIbQmA/aJ4EUQUIR9r+Egt6TNQu0WgwpA=    2861\n",
      "LThaiVqGGnVTPmTcmwN/LLo4fVb5dzkduzd7s1SgzIA=    2814\n",
      "UTAElx4+rSh2QViTKHQhC40cphX7ZIYafAOMJOJCshY=    2767\n",
      "2+T8pswRgDmvZ6B4esKi3lWZyT4xqeVKmv19J0/y51w=    2763\n",
      "TDHfjwkLrnoorqjTUFtlzSL47Yl1oEBpHM8k7qHrIdI=    2743\n",
      "mGDObQQojFOJfK2rJKcme282huuk0qDxBzWL22/qYbc=    2689\n",
      "FaH6rl69OOVwbsO30jjdjVXD9wJO8pcVZS6LGy5zTJM=    2647\n",
      "HVcWdf8CEo9s6qwt5V7TpoPYJfRlQSTA6b7kxEAImpc=    2629\n",
      "s8Oce1igq03hako2pQCfeXyPVkBs77ArjdrZEQAjpbk=    2619\n",
      "6aH1YAi5YwvZUHtpjEaMQwM0p4wP4XLrkWQSdXDF9L8=    2590\n",
      "T+FJrpYi77CWTUE5nO/vliojRaTPgt2bRUQHy5lhXrQ=    2557\n",
      "mDJCU+fKu/mbdk9l4SmPYiJwpeMyK44o9wmG1X3735A=    2528\n",
      "                                                ... \n",
      "PXf4wzIDMBFS/TYu0WcjSwp6li+8kuVOK3o7UkpjqDE=       1\n",
      "1RvpxKbLnheZx9ceGq3I58oIsA0vZ3ogWrGX5rDhXo4=       1\n",
      "J883DXUHaKqpcieteGfTYFHr8TkvuHaP40kxYQQFaTo=       1\n",
      "wU/J1vR+F7D6uSDmkzTTmXp97GuDWygkWthBt6era0M=       1\n",
      "C/ZrJ1hUEHjtzsz7ZqWPGtY3sEf75J78rY7+QjoLwGI=       1\n",
      "/EMkf9pb85U3Kdf5lallm8AYnRBlipvCoLQ60nr5tCI=       1\n",
      "/GV0qHFimNRVObdPW70FbN+frrBykhh5CXaEl6euuLE=       1\n",
      "+F1XdsXOjjuqB64OFRSw/g2VQiXuRVP349daZShgRpg=       1\n",
      "MjcGvLUjcyRYTrhIpIbdfeKna2e3+y8Mr2yVQKFpNb4=       1\n",
      "W6cdqiqMLNeHE4HF27gQHgICfj02Hw+IbkTbiVrGOeQ=       1\n",
      "0DHAuV2vn8rfnwWQD1PKlGxI/DP+RyOxUFq1tl0jcD0=       1\n",
      "kBhcyDxwfZGqyvNy7zJGlYdEHXbAITw/TX7JaE78I8k=       1\n",
      "kEC1Sf7KyCwGaY4m5An79nEzi1YQch3P4P6+dnExA3Y=       1\n",
      "WEBeGi+ASnQUdnRqjULZHZ255FyFeEEB10VbJIIpdtw=       1\n",
      "S6FuF34r/cb/ifRBOXNs6ISfGKvEg+LNqAV/p8eND4M=       1\n",
      "VSsRk2FQMgMnP0NfZgDqG2AszNF5tNk3H2zQnXv3wg0=       1\n",
      "itchH+3a72B6DIAnaspTLv+8zcLpzcgzVWvkvcKIeA4=       1\n",
      "gbWF4qPv4zKLmpfb/goSzjnBpiq2ZdGLh3eD8Rq4gng=       1\n",
      "nSqJHvmDtRJRJRgCmV3nb2n3CUvXZ3LY1wKD8waA4A0=       1\n",
      "sUvLNKrW9AIgQR6a+G0qHXoQr+hjfdIDnS2+amAv0T0=       1\n",
      "aEqaZIvNmQoYsWttDf3RKkGhxz72bGqQXapyXAzj9YY=       1\n",
      "VMsmjoIpzN/HG4Gjg2YsFsG2UjWHdoCh8nxF4NmG/vM=       1\n",
      "TNW+ASqa+5AurfDArxWAp7mcMNOkm/xM922ubg+5YCw=       1\n",
      "TL0QEDh7DNdnJ9G6HwNkzZcN0fU6CPvuYZkXk8QZLEE=       1\n",
      "C8K5sCgJ3/VwYq28p/w/3F65Wps9iuD3gTpee8psa9U=       1\n",
      "PuApVUFf/c0t/kB+sxOFZD4ifIY4nlPsmTKyysjQ4KY=       1\n",
      "0WXxYGioqC5DFuPjn7RuuaVOTbbqekbGZmjSf/FqH0w=       1\n",
      "8WNN5/YwjVAjI5T1JOFo6qvhiDgwbJz+rtfnuJrpvkM=       1\n",
      "UwE2yhf4uRm9i9c/4R1D/EVBjdsYCTjwxAro3daR+Ko=       1\n",
      "BWoCUgBm7JPtZ96IiU/kOujS79FXNLRvul8n/9TKLvk=       1\n",
      "Name: msno, Length: 30755, dtype: int64\n",
      "\n",
      "song_id 属性的不同取值和出现的次数\n",
      "reXuGcEWDDCnL0K3Th//3DFG4S1ACSpJMzA+CFipo1g=    13973\n",
      "T86YHdD4C9JSc274b1IlMkLuNdz4BQRB50fWWE7hx9g=    13293\n",
      "wBTWuHbjdjxnG1lQcbqnK4FddV24rUhuyrYLd9c/hmk=    13079\n",
      "FynUyq0+drmIARmK1JZ/qcjNZ7DKkqTY6/0O0lTzNUI=    12855\n",
      "PgRtmmESVNtWjoZHO5a1r21vIz9sVZmcJJpFCbRa1LI=    12004\n",
      "YN4T/yvvXtYrBVN8KTnieiQohHL3T9fnzUkbLWcgLro=    11835\n",
      "M9rAajz4dYuRhZ7jLvf9RRayVA3os61X/XXHEuW4giA=    11745\n",
      "U9kojfZSKaiWOW94PKh1Riyv/zUWxmBRmv0XInQWLGw=    11521\n",
      "43Qm2YzsP99P5wm37B1JIhezUcQ/1CDjYlQx6rBbz2U=    11131\n",
      "cy10N2j2sdY/X4BDUcMu2Iumfz7pV3tqE5iEaup2yGI=    10791\n",
      "J4qKkLIoW7aYACuTupHLAPZYmRp08en1AEux+GSUzdw=    10565\n",
      "750RprmFfLV0bymtDH88g24pLZGVi5VpBAI300P6UOA=    10500\n",
      "+SstqMwhQPBQFTPBhLKPT642IiBDXzZFwlzsLl4cGXo=     9908\n",
      "IKMFuL0f5Y8c63Hg9BXkeNJjE0z8yf3gMt/tOxF4QNE=     9844\n",
      "v/3onppBGoSpGsWb8iaCIO8eX5+iacbH5a4ZUhT7N54=     9736\n",
      "DLBDZhOoW7zd7GBV99bi92ZXYUS26lzV+jJKbHshP5c=     9244\n",
      "p/yR06j/RQ2J6yGCFL0K+1R06OeG+eXcwxRgOHDo/Tk=     9038\n",
      "Xpjwi8UAE2Vv9PZ6cZnhc58MCtl3cKZEO1sdAkqJ4mo=     8883\n",
      "8Ckw1wek5d6oEsNUoM4P5iag86TaEmyLwdtrckL0Re8=     8851\n",
      "BITuBuNyXQydJcjDL2BUnCu4/IXaJg5IPOuycc/4dtY=     8845\n",
      "n+pMhj/jpCnpiUcSDl4k3i9FJODDddEXmpE48/HczTI=     8775\n",
      "BgqjNqzsyCpEGvxyUmktvHC8WO5+FQO/pQTaZ4broMU=     8725\n",
      "OaEbZ6TJ1NePtNUeEgWsvFLeopkSln9WQu8PBR5B3+A=     8658\n",
      "3VkD5ekIf5duJm1hmYTZlXjyl0zqV8wCzuAh3uocfCg=     8428\n",
      "/70HjygVDhHsKBoV8mmsBg/WduSgs4+Zg6GfzhUQbdk=     8381\n",
      "fEAIgFRWmhXmo6m3ukQeqRksZCcO/7CjkqNckRHiVQo=     8313\n",
      "WL4ipO3Mx9pxd4FMs69ha6o9541+fLeOow67Qkrfnro=     8296\n",
      "fCCmIa0Y5m+MCGbQga31MOLTIqi7ddgXvkjFPmfslGw=     8177\n",
      "VkDBgh89umc9m6uAEfD6LXngetyGhln4vh/ArCGO0nY=     8062\n",
      "L6w2d0w84FjTvFr+BhMfgu7dZAsGiOqUGmvvxIG3gvQ=     7878\n",
      "                                                ...  \n",
      "hV/mziBG9YL2jNABwOTpsKf9fJgqzWO2iulUl7QZzQ4=        1\n",
      "0b3FSvTDDt2nI+aIZgXuahkgHeul70uyfU7HmT5eAjQ=        1\n",
      "CtbFkUU417MdsiLkvBC4HrAqhl6Mp76KKnxe3XLavNM=        1\n",
      "cizA5PE+0ZayT8J7k6ymm6XbVGi5QklE6MEuDTLLoUs=        1\n",
      "53OSV7SHc2VI6/8qqLI8zf+LvTtmkPGUC3dz/XCItOo=        1\n",
      "hQ5iXGUIUL5jMmkClRHnK420yyYHMm20fo8cM1LCkzE=        1\n",
      "JRP0ki4+dYPvfGDZOJZIwS8vqJQmwn81coGFS6Jpx50=        1\n",
      "q0Swl6k8z67HDf9pHXI9EEA2ZyoP+TBT4yeUWdoBqro=        1\n",
      "OZmNKvYDLtcD2Td2yaa4YRgJTV3ZeAYxAflofj6kmoA=        1\n",
      "sQ+/OHjnnMVid62n47+sKNrdRi/eDGP04y9HR08CU+I=        1\n",
      "Fi1EFB96i7myTghIa0M+FhahdjsCXVhljYZrF1NcEWg=        1\n",
      "Q1Nl8D/DPaKV5vh2xyOLbLv/VbYzJUUcPLV+APNmufA=        1\n",
      "kTqqs2+UpNXzXeuG7d+HMZ79/bkjSu2JUBiMKYJBRTk=        1\n",
      "5Vgk9KxSUQ5U4NGSNbOvXAklvzBn4y2F5WDLxuy1emY=        1\n",
      "If6D2h7kr9WX26+v6QYTU3E9O+ovfdQ6f40J2nZ+MNM=        1\n",
      "ybSeynzXB6rIwXlge3vISgRTrJua65Yy44sVvWNvsds=        1\n",
      "vJOmVG6hUGOnyPERWKWkSipXK2FwY94IGj73pvOkbec=        1\n",
      "QxRJVt1qLpYfKjm4ao1foltSYUAJ0F5fnr5bAZrA5vs=        1\n",
      "JEqOVKyGZDwrcDgjK7sZVOlc0fcris1avilU0T2MRuY=        1\n",
      "3YL2D/QTjrbI/2YNaO3G90q8AGDbk/310IGJ64RQJdI=        1\n",
      "XYg2PW47f7n5o0OsGXzpnTzGcYwjoEzngzvl5+1wAZE=        1\n",
      "3/hQTVoSiZYLvZB/QUwsS1AXNfmcRabuCwaF2pq8+iA=        1\n",
      "+2j0Hg7E6xtNFnspPRpVaNChZs0eqbwlJv3vAzQMSd0=        1\n",
      "fNJU1GlT0EMnq/7ozYM3vMRf/V8fMQWSwt9QEVPjR6E=        1\n",
      "G4pkgf1K7Uy0SnfFY9dgFZ5EJxq2R767nKaEdqiR5FQ=        1\n",
      "8mFsCIMmZfKkhrME3+HhJKQiKbK3+Sc0YP3uKKIU9jI=        1\n",
      "0IcxjJQ8OeMtZvXkhz3k8Cib2z1QUgouBWHyVpXN5rU=        1\n",
      "tvaNsg5Sy4YIVugVI3MwFLpjES2vJlL9HEOwe19IUqk=        1\n",
      "/sq8M5WJFpO8rVd/cO06UUpx7XfaW/OrOTrLd7EzTxM=        1\n",
      "0mk/+M4W8vfseEtodQrXsjjr7vU6yZ4MGzaTk5XYuPg=        1\n",
      "Name: song_id, Length: 359966, dtype: int64\n",
      "\n",
      "source_system_tab 属性的不同取值和出现的次数\n",
      "my library      3684730\n",
      "discover        2179252\n",
      "search           623286\n",
      "radio            476701\n",
      "listen with      212266\n",
      "explore          167949\n",
      "notification       6185\n",
      "settings           2200\n",
      "Name: source_system_tab, dtype: int64\n",
      "\n",
      "source_screen_name 属性的不同取值和出现的次数\n",
      "Local playlist more     3228202\n",
      "Online playlist more    1294689\n",
      "Radio                    474467\n",
      "Album more               420156\n",
      "Search                   298487\n",
      "Artist more              252429\n",
      "Discover Feature         244246\n",
      "Discover Chart           213658\n",
      "Others profile more      201795\n",
      "Discover Genre            82202\n",
      "My library                75980\n",
      "Explore                   72342\n",
      "Unknown                   54170\n",
      "Discover New              15955\n",
      "Search Trends             13632\n",
      "Search Home               13482\n",
      "My library_Search          6451\n",
      "Self profile more           212\n",
      "Concert                      47\n",
      "Payment                      12\n",
      "Name: source_screen_name, dtype: int64\n",
      "\n",
      "source_type 属性的不同取值和出现的次数\n",
      "local-library             2261399\n",
      "online-playlist           1967924\n",
      "local-playlist            1079503\n",
      "radio                      483109\n",
      "album                      477344\n",
      "top-hits-for-artist        423614\n",
      "song                       244722\n",
      "song-based-playlist        210527\n",
      "listen-with                192842\n",
      "topic-article-playlist      11194\n",
      "artist                       3038\n",
      "my-daily-playlist             663\n",
      "Name: source_type, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "categorical_features = ['msno', 'song_id', 'source_system_tab', 'source_screen_name','source_type']\n",
    "\n",
    "for col in categorical_features :\n",
    "    print('\\n%s 属性的不同取值和出现的次数'%col)\n",
    "    print(df_train[col].value_counts())\n",
    "    df_train[col] = df_train[col].astype('object')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    用户操作，取前70%数据的阈值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "df_train_msno_rate：28.200293%\n"
     ]
    }
   ],
   "source": [
    "df_train_msno = df_train['msno'].value_counts()\n",
    "df_train_msno_rate = sum(df_train_msno<35) / df_train['msno'].nunique()\n",
    "\n",
    "print(\"df_train_msno_rate：{:%}\".format(df_train_msno_rate))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    音乐操作，取大于10次的播放次数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "df_train_song_id_rate：82.737536%\n"
     ]
    }
   ],
   "source": [
    "df_train_song_id = df_train['song_id'].value_counts()\n",
    "df_train_song_id_rate = sum(df_train_song_id<10) / df_train['song_id'].nunique()\n",
    "\n",
    "print(\"df_train_song_id_rate：{:%}\".format(df_train_song_id_rate))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2、用户元数据（members.csv）\n",
    "\n",
    "#### （1）字段说明\n",
    "\n",
    "    msno：                     用户id\n",
    "    city：                       用户所在城市的id\n",
    "    bd:                           年龄（有离群值）\n",
    "    gender：                   性别\n",
    "    registered_via:           注册方式\n",
    "    registration_init_time: 注册时间，格式为 %Y%m%d\n",
    "    expiration_date:         过期时间，格式为 %Y%m%d\n",
    "    \n",
    "\n",
    "#### （2）数据基本信息\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>msno</th>\n",
       "      <th>city</th>\n",
       "      <th>bd</th>\n",
       "      <th>gender</th>\n",
       "      <th>registered_via</th>\n",
       "      <th>registration_init_time</th>\n",
       "      <th>expiration_date</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>XQxgAYj3klVKjR3oxPPXYYFp4soD4TuBghkhMTD4oTw=</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7</td>\n",
       "      <td>20110820</td>\n",
       "      <td>20170920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>UizsfmJb9mV54qE9hCYyU07Va97c0lCRLEQX3ae+ztM=</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7</td>\n",
       "      <td>20150628</td>\n",
       "      <td>20170622</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>D8nEhsIOBSoE6VthTaqDX8U6lqjJ7dLdr72mOyLya2A=</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4</td>\n",
       "      <td>20160411</td>\n",
       "      <td>20170712</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>mCuD+tZ1hERA/o5GPqk38e041J8ZsBaLcu7nGoIIvhI=</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9</td>\n",
       "      <td>20150906</td>\n",
       "      <td>20150907</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>q4HRBfVSssAFS9iRfxWrohxuk9kCYMKjHOEagUMV6rQ=</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4</td>\n",
       "      <td>20170126</td>\n",
       "      <td>20170613</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           msno  city  bd gender  \\\n",
       "0  XQxgAYj3klVKjR3oxPPXYYFp4soD4TuBghkhMTD4oTw=     1   0    NaN   \n",
       "1  UizsfmJb9mV54qE9hCYyU07Va97c0lCRLEQX3ae+ztM=     1   0    NaN   \n",
       "2  D8nEhsIOBSoE6VthTaqDX8U6lqjJ7dLdr72mOyLya2A=     1   0    NaN   \n",
       "3  mCuD+tZ1hERA/o5GPqk38e041J8ZsBaLcu7nGoIIvhI=     1   0    NaN   \n",
       "4  q4HRBfVSssAFS9iRfxWrohxuk9kCYMKjHOEagUMV6rQ=     1   0    NaN   \n",
       "\n",
       "   registered_via  registration_init_time  expiration_date  \n",
       "0               7                20110820         20170920  \n",
       "1               7                20150628         20170622  \n",
       "2               4                20160411         20170712  \n",
       "3               9                20150906         20150907  \n",
       "4               4                20170126         20170613  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_members.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （3）异常值\n",
    "\n",
    "    检查数据质量，如异常点、缺省值、空值等等"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "msno                          0\n",
       "city                          0\n",
       "bd                            0\n",
       "gender                    19902\n",
       "registered_via                0\n",
       "registration_init_time        0\n",
       "expiration_date               0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_members.apply(lambda x: sum(x.isnull()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "gender_rate：57.849606%\n"
     ]
    }
   ],
   "source": [
    "gender_rate = sum(df_members['gender'].isnull()) / df_members.shape[0]\n",
    "print(\"gender_rate：{:%}\".format(gender_rate))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    理解：性别缺失值过半，缺失率高达57.85%，并且注册时用户填写性别也不一定真实，所以决定删除该特征。但是，经讨论后感觉性别特征还是挺重要的，所以决定把缺失值单独表示为异常值，保留该字段。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （4）数值型变量\n",
    "\n",
    "    用统计量查看分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>city</th>\n",
       "      <th>bd</th>\n",
       "      <th>registered_via</th>\n",
       "      <th>registration_init_time</th>\n",
       "      <th>expiration_date</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>34403.000000</td>\n",
       "      <td>34403.000000</td>\n",
       "      <td>34403.000000</td>\n",
       "      <td>3.440300e+04</td>\n",
       "      <td>3.440300e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>5.371276</td>\n",
       "      <td>12.280935</td>\n",
       "      <td>5.953376</td>\n",
       "      <td>2.013994e+07</td>\n",
       "      <td>2.016901e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6.243929</td>\n",
       "      <td>18.170251</td>\n",
       "      <td>2.287534</td>\n",
       "      <td>2.954015e+04</td>\n",
       "      <td>7.320925e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>-43.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.004033e+07</td>\n",
       "      <td>1.970010e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>2.012103e+07</td>\n",
       "      <td>2.017020e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>2.015090e+07</td>\n",
       "      <td>2.017091e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>10.000000</td>\n",
       "      <td>25.000000</td>\n",
       "      <td>9.000000</td>\n",
       "      <td>2.016110e+07</td>\n",
       "      <td>2.017093e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>22.000000</td>\n",
       "      <td>1051.000000</td>\n",
       "      <td>16.000000</td>\n",
       "      <td>2.017023e+07</td>\n",
       "      <td>2.020102e+07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               city            bd  registered_via  registration_init_time  \\\n",
       "count  34403.000000  34403.000000    34403.000000            3.440300e+04   \n",
       "mean       5.371276     12.280935        5.953376            2.013994e+07   \n",
       "std        6.243929     18.170251        2.287534            2.954015e+04   \n",
       "min        1.000000    -43.000000        3.000000            2.004033e+07   \n",
       "25%        1.000000      0.000000        4.000000            2.012103e+07   \n",
       "50%        1.000000      0.000000        7.000000            2.015090e+07   \n",
       "75%       10.000000     25.000000        9.000000            2.016110e+07   \n",
       "max       22.000000   1051.000000       16.000000            2.017023e+07   \n",
       "\n",
       "       expiration_date  \n",
       "count     3.440300e+04  \n",
       "mean      2.016901e+07  \n",
       "std       7.320925e+03  \n",
       "min       1.970010e+07  \n",
       "25%       2.017020e+07  \n",
       "50%       2.017091e+07  \n",
       "75%       2.017093e+07  \n",
       "max       2.020102e+07  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_members.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    理解：明显年龄存在离群值，而且注册时间需要转换格式，并与截止时间相减，求出使用时间。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    条形图 - 年龄"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a2323e048>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 设置参数数组\n",
    "params = {'figure.figsize': (35,10)}\n",
    "plt.rcParams.update(params)\n",
    "\n",
    "sn.set_context('talk')\n",
    "sn.countplot(df_members[\"bd\"], palette=\"Set3\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    直方图 - 注册时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>msno</th>\n",
       "      <th>city</th>\n",
       "      <th>bd</th>\n",
       "      <th>gender</th>\n",
       "      <th>registered_via</th>\n",
       "      <th>registration_init_time</th>\n",
       "      <th>expiration_date</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>16867</th>\n",
       "      <td>1Y+bNz3FxSoJnKOcR/Q8VJGXZbWIstrW0HfBe5LZzKA=</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9</td>\n",
       "      <td>20140501</td>\n",
       "      <td>19700101</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                               msno  city  bd gender  \\\n",
       "16867  1Y+bNz3FxSoJnKOcR/Q8VJGXZbWIstrW0HfBe5LZzKA=     1   0    NaN   \n",
       "\n",
       "       registered_via  registration_init_time  expiration_date  \n",
       "16867               9                20140501         19700101  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_members[df_members['expiration_date'] < df_members['registration_init_time']]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    理解：这条数据明显出错，不过1970-01-01可能是系统时间，而且经常查找后发现用户听歌记录仅有三首，故假设用户只用了一天。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_members_index = list(df_members.columns).index('expiration_date')\n",
    "df_members.iloc[16867,df_members_index] = int('20140501')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "msno                      1Y+bNz3FxSoJnKOcR/Q8VJGXZbWIstrW0HfBe5LZzKA=\n",
       "city                                                                 1\n",
       "bd                                                                   0\n",
       "gender                                                             NaN\n",
       "registered_via                                                       9\n",
       "registration_init_time                                        20140501\n",
       "expiration_date                                               20140501\n",
       "Name: 16867, dtype: object"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_members.iloc[16867] "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    处理：把int型数据，转换成data日期型数据，并求取时间差"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0   2223 days\n",
       "1    725 days\n",
       "2    457 days\n",
       "3      1 days\n",
       "4    138 days\n",
       "Name: use_time, dtype: timedelta64[ns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# df_members['registration_init_time'] = pd.to_datetime(df_members['registration_init_time']).dt.hour/month/weekday_name\n",
    "df_members['use_time'] = (pd.to_datetime(df_members['expiration_date'], format='%Y%m%d', errors='ignore') \n",
    "                                 - pd.to_datetime(df_members['registration_init_time'], format='%Y%m%d', errors='ignore') ) \n",
    "\n",
    "# 查看前5条数据\n",
    "df_members['use_time'][:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    连续变量分组bin，观察数值分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a1fb05160>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.distplot(df_members['use_time'] / np.timedelta64(1, 'Y'), bins=28, kde=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （5）类别型变量\n",
    "\n",
    "    频率表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "city 属性的不同取值和出现的次数\n",
      "1     19445\n",
      "13     3395\n",
      "5      2634\n",
      "4      1732\n",
      "15     1525\n",
      "22     1467\n",
      "6       913\n",
      "14      708\n",
      "12      491\n",
      "9       309\n",
      "8       289\n",
      "11      285\n",
      "18      259\n",
      "10      216\n",
      "21      213\n",
      "3       204\n",
      "17      152\n",
      "7        93\n",
      "16       35\n",
      "20       27\n",
      "19       11\n",
      "Name: city, dtype: int64\n",
      "\n",
      "registered_via 属性的不同取值和出现的次数\n",
      "4     11392\n",
      "7      9433\n",
      "9      8628\n",
      "3      4879\n",
      "13       70\n",
      "16        1\n",
      "Name: registered_via, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "categorical_features = ['city', 'registered_via']\n",
    "\n",
    "for col in categorical_features :\n",
    "    print('\\n%s 属性的不同取值和出现的次数'%col)\n",
    "    print(df_members[col].value_counts())\n",
    "    df_members[col] = df_members[col].astype('object')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    条形图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.countplot(df_members[\"city\"]);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.countplot(df_members[\"registered_via\"]);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3、歌曲元数据（songs.csv）\n",
    "\n",
    "#### （1）字段说明\n",
    "\n",
    "    song_id：                  歌曲id（用unicode编码）\n",
    "    song_length：            单位为毫秒，ms\n",
    "    genre_ids:                 歌曲流派类别（用“ | ”隔开）\n",
    "    artist_name：            歌手\n",
    "    composer:                 作曲家\n",
    "    lyricist:                      作词人\n",
    "    language:                  语言类型\n",
    "    \n",
    "\n",
    "#### （2）数据基本信息\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>song_id</th>\n",
       "      <th>song_length</th>\n",
       "      <th>genre_ids</th>\n",
       "      <th>artist_name</th>\n",
       "      <th>composer</th>\n",
       "      <th>lyricist</th>\n",
       "      <th>language</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>CXoTN1eb7AI+DntdU1vbcwGRV4SCIDxZu+YD8JP8r4E=</td>\n",
       "      <td>247640</td>\n",
       "      <td>465</td>\n",
       "      <td>張信哲 (Jeff Chang)</td>\n",
       "      <td>董貞</td>\n",
       "      <td>何啟弘</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>o0kFgae9QtnYgRkVPqLJwa05zIhRlUjfF7O1tDw0ZDU=</td>\n",
       "      <td>197328</td>\n",
       "      <td>444</td>\n",
       "      <td>BLACKPINK</td>\n",
       "      <td>TEDDY|  FUTURE BOUNCE|  Bekuh BOOM</td>\n",
       "      <td>TEDDY</td>\n",
       "      <td>31.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>DwVvVurfpuz+XPuFvucclVQEyPqcpUkHR0ne1RQzPs0=</td>\n",
       "      <td>231781</td>\n",
       "      <td>465</td>\n",
       "      <td>SUPER JUNIOR</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>31.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>dKMBWoZyScdxSkihKG+Vf47nc18N9q4m58+b4e7dSSE=</td>\n",
       "      <td>273554</td>\n",
       "      <td>465</td>\n",
       "      <td>S.H.E</td>\n",
       "      <td>湯小康</td>\n",
       "      <td>徐世珍</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>W3bqWd3T+VeHFzHAUfARgW9AvVRaF4N5Yzm4Mr6Eo/o=</td>\n",
       "      <td>140329</td>\n",
       "      <td>726</td>\n",
       "      <td>貴族精選</td>\n",
       "      <td>Traditional</td>\n",
       "      <td>Traditional</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        song_id  song_length genre_ids  \\\n",
       "0  CXoTN1eb7AI+DntdU1vbcwGRV4SCIDxZu+YD8JP8r4E=       247640       465   \n",
       "1  o0kFgae9QtnYgRkVPqLJwa05zIhRlUjfF7O1tDw0ZDU=       197328       444   \n",
       "2  DwVvVurfpuz+XPuFvucclVQEyPqcpUkHR0ne1RQzPs0=       231781       465   \n",
       "3  dKMBWoZyScdxSkihKG+Vf47nc18N9q4m58+b4e7dSSE=       273554       465   \n",
       "4  W3bqWd3T+VeHFzHAUfARgW9AvVRaF4N5Yzm4Mr6Eo/o=       140329       726   \n",
       "\n",
       "        artist_name                            composer     lyricist  language  \n",
       "0  張信哲 (Jeff Chang)                                  董貞          何啟弘       3.0  \n",
       "1         BLACKPINK  TEDDY|  FUTURE BOUNCE|  Bekuh BOOM        TEDDY      31.0  \n",
       "2      SUPER JUNIOR                                 NaN          NaN      31.0  \n",
       "3             S.H.E                                 湯小康          徐世珍       3.0  \n",
       "4              貴族精選                         Traditional  Traditional      52.0  "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_songs.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （3）异常值\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "song_id              0\n",
       "song_length          0\n",
       "genre_ids        94116\n",
       "artist_name          0\n",
       "composer       1071354\n",
       "lyricist       1945268\n",
       "language             1\n",
       "dtype: int64"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_songs.apply(lambda x: sum(x.isnull()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "genre_ids_rate：4.098558%\n",
      "composer_rate：46.655257%\n",
      "lyricist_rate：84.712409%\n",
      "language_rate：0.000044%\n"
     ]
    }
   ],
   "source": [
    "print(\"genre_ids_rate：{:%}\".format(sum(df_songs['genre_ids'].isnull()) / df_songs.shape[0]))\n",
    "print(\"composer_rate：{:%}\".format(sum(df_songs['composer'].isnull()) / df_songs.shape[0]))\n",
    "print(\"lyricist_rate：{:%}\".format(sum(df_songs['lyricist'].isnull()) / df_songs.shape[0]))\n",
    "print(\"language_rate：{:%}\".format(sum(df_songs['language'].isnull()) / df_songs.shape[0]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    理解：由于composer和lyricist的缺失率太高，删除。而language仅缺失1条数据，之后人为查找后发现是韩国歌曲，标号代码是31。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>song_id</th>\n",
       "      <th>song_length</th>\n",
       "      <th>genre_ids</th>\n",
       "      <th>artist_name</th>\n",
       "      <th>composer</th>\n",
       "      <th>lyricist</th>\n",
       "      <th>language</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>605127</th>\n",
       "      <td>nMZ7IRARPBit0ZGegNfecsx77LQSpH2ZY93vyd5xRy0=</td>\n",
       "      <td>178654</td>\n",
       "      <td>444</td>\n",
       "      <td>JONGHYUN</td>\n",
       "      <td>Korean Lyrics by Kim| Jong Hyun / Lee| Yoon Se...</td>\n",
       "      <td>31</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                             song_id  song_length genre_ids  \\\n",
       "605127  nMZ7IRARPBit0ZGegNfecsx77LQSpH2ZY93vyd5xRy0=       178654       444   \n",
       "\n",
       "       artist_name                                           composer  \\\n",
       "605127    JONGHYUN  Korean Lyrics by Kim| Jong Hyun / Lee| Yoon Se...   \n",
       "\n",
       "       lyricist  language  \n",
       "605127       31       NaN  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_songs[df_songs['language'].isnull()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_songs_index = list(df_songs.columns).index('language')\n",
    "df_songs.iloc[605127,df_songs_index] = float('31')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    理解：感觉像是把language的值，给到lyricist里了。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （4）数值型变量\n",
    "\n",
    "    直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a22e38080>"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.distplot(df_songs['song_length'], bins=100, kde=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （5）类别型变量\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a22ec1710>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAACBoAAAJoCAYAAADC/BBoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3X20ZXdd5/l3pYLBMpAEVHoWiUIa/KXRaTMTutMiMgICDWrbE8TgOO3CGZfgUzOiPLegLFGCAVFYSEs7jWvJwvCgDjohhPCstKjBshcm/CQOaIpuMSAkYcoJ5FLzxz23Pd5VVdk3qXBvkddrrbPOOXt/9t6/e/6of/anvnvfkSNHAgAAAAAAAABY4pTdXgAAAAAAAAAAcPJQNAAAAAAAAAAAFlM0AAAAAAAAAAAWUzQAAAAAAAAAABZTNAAAAAAAAAAAFlM0AAAAAAAAAAAWUzQAAAAAAAAAABZTNAAAAAAAAAAAFlM0AAAAAAAAAAAWUzQAAAAAAAAAABZTNAAAAAAAAAAAFjt1txewZYxxfvVH1f3nnIeOkfmF6kfnnKdu2/7g6tLqwdVN1Wuq5885P7eWeWD10uqbqlurN1TPmHPevJa5zyrzmOpu1eXVj805/3otc3p1SfX46vTqPdVT55wfXsucWj2/elJ17+rq6sfnnH+4098FAAAAAAAAAPaSPTHRYIwxqt/tOMWHMcbDqn97lO0PqN5e/V31XdVLqqdVv7CWOat6R3Wf6nurZ1dPrF63ljm1emt1YfWDq9c3Vles9m25rHpC9czVue5bvXOMccZa5hdXa7ikurjNYsNVY4xzb/PHAAAAAAAAAIA9bFcnGqxu4P9A9aLqc8fJfVn1H6v/Uv1323Y/q7qx+o4552ery8cYh6uXjzF+bs75seqHq7Oq8+ecn1yd89Aqe+Gc8/1tFg++vnrQnPPaVeZg9cE2pxdcNsZ4aPW46rFzzitWmfdWH6meUl0yxrhf9eTqR+acr1plrqz+vHp6mwUGAAAAAAAAADgp7fajEx5avbj6+epj1auPkbu0+us2Jxc8Z9u+R1e/syoZbHlj9crVvv+4en/3Vslg5crq5jaLA+9fZa7ZKhlUzTmvGWNcu8pctsrcXL1tLXPDGOPdq8wl1SOq/dWb1jK3jDF+t/q22/g9jurqq6++tc3pEzfdnuMBAAAAAAAAYM09q89fcMEFt6szsNtFg2urc+ecfzPGeNLRAmOMR7X5iIL/ofpftu07UJ1TzfXtq5v/N1Vjtem86te3ZTbGGB/ZlvkH51m5blvmujnnxlEyF69lPjXnvOEoma8aY3zpnPPvjva3Hscp1b7qjNsKAgAAAAAAAMACp9zeA3e1aDDn/Pjx9o8xzqh+tXrenPPPxxjbI1s33o/2P/1vbrOFsZVbkrnmGJkH7vA8x8pU3aPaadHgpuqM008/fYeHAQAAAAAAAMA/9JnPfKbuwET93Z5ocFteVh2qfuEY+/et3o8cY9/n1z7vhUxruR3Zv39/RylaAAAAAAAAAMCOHDx4sI2N7YP8l9uzRYMxxrdVT6weXJ0yxjil1eiGMcapbd6w32pY3PMopzi9unH1+cZjZO5RfXRBZv085y7IHOs8dQdaIQAAAAAAAACw2273Mxe+AL6zunv1wepzq9dPVvtXn5835/xM9bHqAesHjjG+ss2b/XO1aR4ls7+6//EyKw/Yljl3jLHvNjL3GmOcdZTMR+acnz32nwwAAAAAAAAAe9teLhr8VPXPtr1eXW2sPv/KKndl9e1jjC9ZO/bxq9y71jIPH2Pcay3z6DanHly1lvm6sfZ8gjHGg6rztmXOrL5lLfMV1cPWMm9bvX/nWua06lvXMgAAAAAAAABwUtqzj06Yc360v3+sQfXfHqfQnPOP1za/uPru6vIxxsuqr6l+tvqVOedfrTKvrH60evsY4wXVvVfHvWXO+b5V5rLqOdUVY4xnV/uqF7U5UeH1q+u+Z4zxruo3xhjPqP62zULEp6tfXmX+cozxa9UvjTFOrz5cPa06a3VNAAAAAAAAADhp7eWJBovMOT/U308neGObN/VfWj11LfOJ6uHVJ6vXVi9sszxw8VrmlupR1Z+0OTnhFdX7qsfMOW9du+RF1ZurS6vXVIeqR845P7WWeXL1qupZbRYYTq0eNee87gT92QAAAAAAAACwK/YdOXJkt9fAbbj66qs/vX///jPOP//83V4KAAAAAAAAACe5gwcPtrGxceMFF1xw5u05/qSfaAAAAAAAAAAAfOEoGgAAAAAAAAAAiykaAAAAAAAAAACLKRoAAAAAAAAAAIspGgAAAAAAAAAAiykaAAAAAAAAAACLKRoAAAAAAAAAAIspGgAAAAAAAAAAiykaAAAAAAAAAACLKRoAAAAAAAAAAIspGgAAAAAAAAAAiykaAAAAAAAAAACLKRoAAAAAAAAAAIspGgAAAAAAAAAAiykaAAAAAAAAAACLKRoAAAAAAAAAAIspGgAAAAAAAAAAi5262wsAAAAAAADg5LKxsdEtt9yy28vgLuC0005r//79u70MYBtFAwAAAAAAAHbklltu6dChQ7u9DO4Czj777A4cOLDbywC28egEAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgMUUDAAAAAAAAAGAxRQMAAAAAAAAAYDFFAwAAAAAAAABgsVN3ewFbxhjnV39U3X/OeWht+xOqZ1TnVZ+urqqeOef8m7XMA6uXVt9U3Vq9oXrGnPPmtcx9VpnHVHerLq9+bM7512uZ06tLqsdXp1fvqZ465/zwWubU6vnVk6p7V1dXPz7n/MNtf89Tqx+t7ltdWz13zvmW2/8LAQAAAAAAAMDu2xMTDcYYo/rdthUfxhgXV69v82b+46t/Vz2iumqMcdoqc1b1juo+1fdWz66eWL1u7TynVm+tLqx+cPX6xuqK1b4tl1VPqJ65Otd9q3eOMc5Yy/xi9bQ2CwkXt1lsuGqMce7a9Z5evaR6TXVR9f9Ubx5jfMPt+X0AAAAAAAAAYK/Y1YkGq5v8P1C9qPrcUSLPri6fcz5l7ZgPVX9QPbb67eqHq7Oq8+ecn1xlDlWXjzEunHO+v83iwddXD5pzXrvKHKw+2GaB4bIxxkOrx1WPnXNescq8t/pI9ZTqkjHG/aonVz8y53zVKnNl9efV06sfHGN8WfXc6tI558+sMldU76uet1o3AAAAAAAAAJyUdnuiwUOrF7f5v/+fub5jjLGvzcck/Mq2Yz60ev/Hq/dHV+/eKhmsXFnd3GZxYCtzzVbJoGrOeU2bjzRYz9xcvW0tc0P17rXMI6r91ZvWMre0OY1hK3Nhdca2zJHqN6tvGWN8yVF/CQAAAAAAAAA4Cex20eDa6tw550+3+QiC/2bOeWTO+RNzzv9r2zH/evX+Z6v386q57diNNicRjGNlVq7blrludezxMp9aFRC2Z75qjPGlq0xHud51bU6QODcAAAAAAAAAOEnt6qMT5pwf30l+jPGPq0urD7Q5taA2pwfcdJT4zdU91zLXHCPzwB2e51iZqnusMuvbtmfu2e2wsbHRnEfrSgAAAAAAAHzhnHPOObu9BO5iDh8+3PXXX7/by4AvKhsb2////c7s9kSDxcYY51XvbHPywXfNOT+/2rWvOnKUQ/ZVX8hMq9ySDAAAAAAAAACclHZ1osFSY4xvrn6z+kz18DnnX6ztvrGjTwm4R/XRBZkb1zJHe6zB9syxzlOb0w5ubLNUcHr/cKrBVubGbof9+/c3xrjtIAAAAAAAwJ3s8OHDu70E7kIOHDjgPhmcYAcPHrxDUw32/ESDMcbF1VurQ9U3zDk/tC0yqwdsO2Z/df/VvqNmVh6wLXPuGGPfbWTuNcY46yiZj8w5P7uW3X69B1S3VH95lHUAAAAAAAAAwElhTxcNxhiPqX69+k/VQ+ecHztK7Mrq4WOMe61te3SbEwWuWst83VirOo0xHlSdty1zZvUta5mvqB62lnnb6v071zKnVd+6lnlf9f9uy+yrLqresyojAAAAAAAAAMBJac8+OmF1A/9X23xcwgurB20biXL9qnjwyupHq7ePMV5Q3bt6cfWWOef7VtnLqudUV4wxnt3mow1eVH2wen3VnPM9Y4x3Vb8xxnhG9bfVT1Wfrn55lfnLMcavVb80xji9+nD1tOqs1TWbcx4eY1xa/eQY49bqD6r/rbqg+uYT+BMBAAAAAAAAwBfcni0aVBdW9119vvIo+3+y+pk55yfGGA+vXla9trq5zfLA07eCc85bxhiPqn6xenX12dU5nzbnvHXtnBdVL60ubXPaw+9V3zXn/NRa5snVp6pntTk14erqUXPO69YyP13dWv1A9YzqmupfzTl/f6c/AgAAAAAAAADsJfuOHDmy22vgNlx99dWf3r9//xnnn3/+bi8FAAAAAACgw4cPd+jQod1eBncBZ599dgcOHNjtZcAXnYMHD7axsXHjBRdccObtOf6UE70gAAAAAAAAAOCLl6IBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACwmKIBAAAAAAAAALCYogEAAAAAAAAAsJiiAQAAAAAAAACw2Km7vYAtY4zzqz+q7j/nPLS2/dHVC6uvrT5evWLO+ZJtxz64urR6cHVT9Zrq+XPOz61lHli9tPqm6tbqDdUz5pw3r2Xus8o8prpbdXn1Y3POv17LnF5dUj2+Or16T/XUOeeH1zKnVs+vnlTdu7q6+vE55x/e7h8IAAAAAAAAAPaAPTHRYIwxqt9tW/FhjPGQ1fYPVRdVr61+fozxE2uZB1Rvr/6u+q7qJdXTql9Yy5xVvaO6T/W91bOrJ1avW8ucWr21urD6wdXrG6srVvu2XFY9oXrm6lz3rd45xjhjLfOLqzVcUl3cZrHhqjHGuTv+cQAAAAAAAABgD9nViQarG/g/UL2o+txRIi+oPjDn/Der71eMMe5WPXeM8fI55y3Vs6obq++Yc362unyMcbh6+Rjj5+acH6t+uDqrOn/O+cnVtQ+tshfOOd/fZvHg66sHzTmvXWUOVh9sc3rBZWOMh1aPqx4757xilXlv9ZHqKdUlY4z7VU+ufmTO+apV5srqz6unt1lgAAAAAAAAAICT0m5PNHho9eI2pxA8c33HGOPu1cOqN2075o3VmdVDVt8fXf3OqmSwntm/2reVefdWyWDlyurmNosDW5lrtkoGVXPOa6prt2Vurt62lrmhevda5hGra79pLXNLm5MZtjIAAAAAAAAAcFLa7aLBtdW5c86fbvPxAuvOre5WzW3br1u9jzHGgeqc7ZnVzf+bqrHadN5RMhttTiI4ZmbteuuZ61bHHi/zqdUatme+aozxpUe5BgAAAAAAAACcFHb10Qlzzo8fZ/cZq/ebtm2/efV+z+NktnL3XDvXksw1x8g8cIfnOVam6h7V3x1l/3FtbGw059F6EAAAAAAAAF8455xzzm4vgbuYw4cPd/311+/2MuCLysbG9v9bvzO7PdHgePat3o8cY//nbyOzb5XZ+rwXMq3lAAAAAAAAAOCks6sTDW7Djav3e27bfs+1/TcdI1N1+to5bjxG5h7VRxdk1s9z7oLMsc5TR592cJv279/fGOO2gwAAAAAAAHeyw4cP7/YSuAs5cOCA+2Rwgh08ePAOTTXYyxMN/qLaqB6wbfvW9znn/Ez1se2ZMcZXtnmzf+tZA/Momf3V/Y+XWbveeubcMca+28jca4xx1lEyH5lzfvYo1wAAAAAAAACAk8KeLRrMOf+/6j3VRdtu7D++zakBf7z6fmX17WOML9mW2ajetZZ5+BjjXmuZR7c59eCqtczXjbU61BjjQdV52zJnVt+ylvmK6mFrmbet3r9zLXNa9a1rGQAAAAAAAAA4Ke3lRydU/UybN+d/Y4zxmuoh1dOrZ805t2byvLj67uryMcbLqq+pfrb6lTnnX60yr6x+tHr7GOMF1b1Xx71lzvm+Veay6jnVFWOMZ1f7qhdVH6xeXzXnfM8Y412r9Tyj+tvqp6pPV7+8yvzlGOPXql8aY5xefbh6WnXW6poAAAAAAAAAcNLasxMNquac72hzOsE/qX67+p7q6XPOF69lPtTfTyd4Y5s39V9aPXUt84nq4dUnq9dWL2yzPHDxWuaW6lHVn1Svrl5Rva96zJzz1rVlXVS9ubq0ek11qHrknPNTa5knV6+qntVmgeHU6lFzzuvuyO8BAAAAAAAAALtt35EjR3Z7DdyGq6+++tP79+8/4/zzz9/tpQAAAAAAAHT48OEOHTq028vgLuDss8/uwIEDu70M+KJz8ODBNjY2brzgggvOvD3H7+mJBgAAAAAAAADA3qJoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAspmgAAAAAAAAAACymaAAAAAAAAAAALKZoAAAAAAAAAAAsdupuL2CJMcZTqqdWX1X9RXXJnPO1a/sfXb2w+trq49Ur5pwv2XaOB1eXVg+ubqpeUz1/zvm5tcwDq5dW31TdWr2hesac8+a1zH1WmcdUd6sur35szvnXa5nTq0uqx1enV++pnjrn/PAJ+DkAAAAAAAAAYNfs+YkGY4wfqH65+r+r76iuqn59jPGE1f6HVL9bfai6qHpt9fNjjJ9YO8cDqrdXf1d9V/WS6mnVL6xlzqreUd2n+t7q2dUTq9etZU6t3lpdWP3g6vWN1RWrfVsuq55QPXN1rvtW7xxjnHEifhMAAAAAAAAA2C0nw0SDJ1XvnHNuFQeuWk0n+KE2Jw68oPrAnPPfrPZfMca4W/XcMcbL55y3VM+qbqy+Y8752eryMcbh6uVjjJ+bc36s+uHqrOr8Oecnq8YYh1bZC+ec72+zePD11YPmnNeuMgerD7Y5veCyMcZDq8dVj51zXrHKvLf6SPWUNicdAAAAAAAAAMBJac9PNKjuXt28bdsnq3uPMe5ePax607b9b6zOrB6y+v7o6ndWJYP1zP7Vvq3Mu7dKBitXrq79uLXMNVslg6o55zXVtdsyN1dvW8vcUL17LQMAAAAAAAAAJ6WTYaLBL1avXj0q4a1t3sj/tuo51bnV3aq57ZjrVu9jjPH+6pztmTnnDWOMm6qx2nRe9evbMhtjjI9sy2y/1tb11jPXzTk3jpK5+Ph/6rFtbGw059EuDQAAAAAA8IVzzjnn7PYSuIs5fPhw119//W4vA76obGxsv529MyfDRIPXrV6vb/PxB2+oXjvn/PnqjFXmpm3HbE1AuOdxMlu5e64+n/EFzAAAAAAAAADASelkmGjw5jYfgfC06gPVhdXzVtMIfmOVOXKMYz9f7TtOZt8qs/X5C5XZsf379zfGuO0gAAAAAADAnezw4cO7vQTuQg4cOOA+GZxgBw8evENTDfZ00WCM8ZDqMdX3zTlfs9r87jHGp6t/X/3qatv2SQFb32/s76cLHG2awOmrzFb2aJl7VB9dkFk/z7m3kQEAAAAAAACAk9Jef3TCV6/ef3/b9ves3s+vNqoHbNu/9X3OOT9TfWx7ZozxlW2WBuZW9iiZ/dX9j5dZu9565twxxr7jZAAAAAAAAADgpLTXiwZbN+Yftm37N6zeP9Rm6eCibTf2H9/m9IA/Xn2/svr2McaXbMtsVO9ayzx8jHGvtcyj25x6cNVa5uvG2myWMcaDqvO2Zc6svmUt8xWrv2ErAwAAAAAAAAAnpX1HjhzZ7TUc1xjjt9q8af+86k+qB68+/96c83FjjEe0eQP/DdVrqodUz62eNed88eoc562O/f3qZdXXVD9b/Z9zzh9aZb68urY6VL2gunf14uoP5pyPW2VOq/60Oq16drWvelGbpYb/cc556yr3zuqfVs+o/rb6qdX5/vs556d2+htcffXVn96/f/8Z559//k4PBQAAAAAAOOEOHz7coUOHdnsZ3AWcffbZHThwYLeXAV90Dh482MbGxo0XXHDBmbfn+L0+0aDqidXLqx+rrqi+v7q0+p+r5pzvaHM6wT+pfrv6nurpWyWDVeZD/f10gjdWT6teWj11LfOJ6uHVJ6vXVi+sXl9dvJa5pXpUm6WFV1evqN5XPWarZLByUfXm1Tpf02Z54ZG3p2QAAAAAAAAAAHvJnp9ogIkGAAAAAADA3mKiAV8oJhrAneOuMNEAAAAAAAAAANgjFA0AAAAAAAAAgMUUDQAAAAAAAACAxRQNAAAAAAAAAIDFFA0AAAAAAAAAgMUUDQAAAAAAAACAxRQNAAAAAAAAAIDFFA0AAAAAAAAAgMUUDQAAAAAAAACAxRQNAAAAAAAAAIDFFA0AAAAAAAAAgMV2VDQYY7xjjPHI4+z/9jHGn93xZQEAAAAAAAAAe9Gpx9s5xjhQffnapm+ufmuM8eGjxE+pHlvd/4StDgAAAAAAAADYU45bNKi+rDpYnbH6fqR62ep1NPuqt52YpQEAAAAAAAAAe81xiwZzzhvGGN9T/fM2SwTPq36r+s9HiW9UN1S/caIXCQAAAAAAAADsDbc10aA551uqt1SNMb66etWc8/139sIAAAAAAAAAgL3nNosG6+ac33dnLQQAAAAAAAAA2Pt2VDSoGmP8y+p7qn9U7T9K5Mic85F3dGEAAAAAAAAAwN6zo6LBGOOHqpevvn68uuWErwgAAAAAAAAA2LN2OtHg/6j+tHrsnPPjd8J6AAAAAAAAAIA97JQd5s+p/r2SAQAAAAAAAADcNe20aPAX1X3ujIUAAAAAAAAAAHvfTosGP1f92zHG194ZiwEAAAAAAAAA9rZTd5h/aPWZ6k/HGLO6ofr8tsyROecjT8TiAAAAAAAAAIC9ZadFg39ZHamurw5UX33CVwQAAAAAAAAA7Fk7KhrMOe9/Zy0EAAAAAAAAANj7TtmI7DVbAAAgAElEQVTtBQAAAAAAAAAAJ48dTTQYY7xjSW7O+YjbtxwAAAAAAAAAYC/bUdGgOrc6sm3b/urLq7tXH60+eMeXBQAAAAAAAADsRTsqGsw573e07WOM/dV3VP+huvSOLwsAAAAAAAAA2ItOOREnmXNuzDl/s3p1dcmJOCcAAAAAAAAAsPeckKLBmg9XX3+CzwkAAAAAAAAA7BEnrGgwxjit+l+rvzlR5wQAAAAAAAAA9pZTdxIeY7zjGLtOq0Z1VvX8O7ooAAAAAAAAAGBv2lHRoDq3OnKU7RvVh6rXVa+8o4sCAAAAAAAAAPamHRUN5pz3u5PWAQAAAAAAAACcBHY60aCqMcb+6sHVV1efrf5qzvmBE7kwAAAAAAAAAGDv2XHRYIzxbW0+HuG+1b7V5iNjjP9S/dCc83dO4PoAAAAAAAAAgD3klJ2ExxjfVP1mmwWD51T/urqoem51pHrTGOMhJ3qRAAAAAAAAAMDesNOJBj9VfbT6Z3POG9d3jDFeWf1R9e+qx52IxQEAAAAAAAAAe8uOJhpU/7x69faSQdWc86bqV6t/cSIWBgAAAAAAAADsPTstGtyWI9XdTvA5AQAAAAAAAIA9YqdFg/dX//sY48u27xhj3KP6/jYfnwAAAAAAAAAAfBE6dYf5n67eWf3ZGOPl1Z+vtp9X/VB1dvWUE7c8AAAAAAAAAGAv2VHRYM753jHGRdUrqp9v81EJVfuq/1pdPOd854ldIgAAAAAAAACwV+x0okHVwer1q9f92iwZ3K/6yur3TtTCAAAAAAAAAIC955SdhMcYX1d9oHpqdcuc8/Vzzsuqs9p8dMKfjDHuf+KXCQAAAAAAAADsBTsqGlQvqm6uHjTn/NOtjXPOZ1UPqj5bXXLilgcAAAAAAAAA7CU7LRr8i+plc84Pb98x5/xI9YrqfzoRCwMAAAAAAAAA9p6dFg1Oqe5+nP37qi+9/csBAAAAAAAAAPaynRYN/qB68hjjzO07xhinV99fvf9ELAwAAAAAAAAA2HtO3WH+p6t3Vx8cY7y2uq76fPWA6rurf1R93wldIQAAAAAAAACwZ+yoaDDnfP8Y41HVpdVPtPmohC1/Wj1pzvmfTuD6AAAAAAAAAIA9ZKcTDZpzvre6cIzxFdVXV/urv5pz/tcTvTgAAAAAAAAAYG/ZcdFgy5zzhuqGE7gWAAAAAAAAAGCPu91FA05et9x6a584/JndXgZ3AV9+4PROO9U/MwAAAAAAAPDFxB3Au6BPHP5Mb57/ebeXwV3Avxr/tPve88zdXgYAAAAAAABwAp2y2wsAAAAAAAAAAE4eigYAAAAAAAAAwGKKBgAAAAAAAADAYooG8P+zd+dhlpX1vei/1d0gdloGiXISICqgP+JIxFyOEycYxSkOARW9J5rJKzFGORJFiDlXJQ4BgRg0TvGeYKJRlCTGICJOgEZjrpi+HgO8EQNKEwdA6Ia0TN19/1irZLup6lrdXd27Nv35PE89q2qt337r7er97rXXXt/1LgAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGWzHpDgxRVYcneXOSRya5McnfJDmptXZzv/3IJG9K8pAk30/yjtba6WNtPCrJaUkelWRdkrOSvK61dvtIzQOTnJHk8UnuSPLRJCe01m4aqdmnr3lykl2SnJfkla21743UrEpySpKjk6xKcnGS41pr31ycvwgAAAAAAAAATMaSn9Ggqv5rkk8n+V6SZyY5OcmvJXlfv/0xSc5NcnmSo5J8MMlbq+pVI20clOSzSX6U5HlJTk9yfJI/GanZK8nnkuyT5EVJTkry/CQfGqlZkeRTSQ5L8tL+67FJzu+3zTo7yXOTvKZva98kn6+qPRbhTwIAAAAAAAAAEzMNMxqckuSfkjy3tbYpyWeqanmS46tqZbrgwddaay/s68+vql2SvLaq3t5auzXJiUnWJnlWa+22JOdV1fokb6+qt7TWrknysiR7JTmktXZ9klTVmr72sNbaV9IFDx6R5MGttcv6mtVJvpFu9oKzq+pxSZ6W5KmttfP7mi8kuTLJ7/T/HgAAAAAAAACYSkt6RoOq+ul0tzF4Vx8ySJK01v6stXZgko1JDk93K4VR5yTZM8lj+p+PTPIPfchgtGZ5v2225qLZkEHvgiQ3pQsOzNZcOhsy6PtyaZLLxmpuSjcLw2zNtUkuGqkBAAAAAAAAgKm0pIMGSR6WZCbJD6vq7Kr6z6paW1Xvqqp7JjkgyS5J2tjjruiX1c96sP94TX/yf12S6lcdPEfNhnQzEcxbM/L7Rmuu6B87Xw0AAAAAAAAATKWlfuuE+/TLs5L8XZJnpLt1wRuT3DPJe/rt68Yed1O/3D3JHvPUzNbt3n+/x8CaS+epeeAWtLPFNmzYkNbmyjhsmf3333+b24AtsX79+lx99dWT7gYAAAAAAIvEuQZ2NOcaYPFt2DB+3fyWWepBg1375Zdaay/rv/9cVc0kOS3Je/t1m+7yyM7GdDMizFcz09fMfr+jagAAAAAAAABgKi31oMHszATnja3/VJLTk/xi//P4TAGzP6/NnbMLzDWbwKq+ZrZ2rpp7JblqQM1oOwcsULPFli9fnqrFufPCDetuW5R2YIiVK1cu2nMXAAAAAIClYf369ZPuAjsR5xpg8a1evXqbZjVYtoh92R6+2S/vMbZ+dqaDK5NsSHLQ2PbZn1tr7eYk14zXVNV904UGZu9H0OaoWZ7kAZurGfl9ozUH9LMuzFcDAAAAAAAAAFNpqQcNLkvy7STPH1v/K0nuSPLlJBcnOWrsxP7R6WYP+Gr/8wVJnlFVu47VbEhy4UjNEVV175GaI9PNevCZkZqH1khkqqoenOTgsZo9kzxxpOY+SQ4fqQEAAAAAAACAqbSkb53QWttUVa9J8qGq+kCSs5IcmuQPk5zZWru2qt6Y7gT+h6vqrCSPSfLqJCe21mbn7Tk1yQuSnFdVb0vyoCRvTvLe1tp3+pp3Jnl5ks9W1clJ9u4f98nW2pf6mrOT/EGS86vqpCQzSf44yTeSfKTv88VVdWHfnxOS/DDJ65PcmORdi/sXAgAAAAAAAIAda6nPaJDW2tlJjkry4CTnJnlZkpPThQnSWvtcutkJfj7Jx5L89ySvbq2dOtLG5blzdoJzkhyf5Iwkx43UXJfkiCTXJ/lgkjelCw8cM1Jza5InJfmXJH+e5B1JvpTkya21O0a6fVSSjyc5LV04Yk2SX26t3bDtfxEAAAAAAAAAmJyZTZs2TboPLOCSSy65cfny5Xsccsghi9LeNetuzMfb1xelLdicZ9bDs+/ue066GwAAAAAALLL169dnzZo1k+4GO4H99tsvK1eunHQ34G5n9erV2bBhw9pDDz10q07mLfkZDQAAAAAAAACApUPQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYbMWkO7Clqupvkzy8tXbQyLojk7wpyUOSfD/JO1prp4897lFJTkvyqCTrkpyV5HWttdtHah6Y5Iwkj09yR5KPJjmhtXbTSM0+fc2Tk+yS5Lwkr2ytfW+kZlWSU5IcnWRVkouTHNda++bi/BUAAAAAAAAAYDKmakaDqvq1JL86tu4xSc5NcnmSo5J8MMlbq+pVIzUHJflskh8leV6S05Mcn+RPRmr2SvK5JPskeVGSk5I8P8mHRmpWJPlUksOSvLT/emyS8/tts85O8twkr+nb2jfJ56tqj239GwAAAAAAAADAJE3NjAZV9bNJzkyyZmzTyUm+1lp7Yf/z+VW1S5LXVtXbW2u3Jjkxydokz2qt3ZbkvKpan+TtVfWW1to1SV6WZK8kh7TWru9/55q+9rDW2lfSBQ8ekeTBrbXL+prVSb6RbvaCs6vqcUmeluSprbXz+5ovJLkyye+km+kAAAAAAAAAAKbSNM1o8L4kF6SbmSBJUlW7JTk8yd+M1Z6TZM8kj+l/PjLJP/Qhg9Ga5f222ZqLZkMGvQuS3JQuODBbc+lsyCBJWmuXJrlsrOamJJ8eqbk2yUUjNQAAAAAAAAAwlaZiRoOqenGSQ5M8JMlpI5sOSLJLkjb2kCvufGh9Jcn+4zWttWural2S6lcdnOQDYzUbqurKsZrx3zX7+0ZrrmitbZij5pj5/o0L2bBhQ1qb61dvmf3333+b24AtsX79+lx99dWT7gYAAAAAAIvEuQZ2NOcaYPFt2DB+OnvLLPkZDarqfknOSPK7rbXrxjbv0S/Xja2/qV/uvpma2brdR9raUTUAAAAAAAAAMJWW9IwGVTWT5H8lOa+1Nn57hCSZ6Zeb5mli4wI1M33N7Pc7qmaLLV++PFW1cOEAN6y7beEiWCQrV65ctOcuAAAAAABLw/r16yfdBXYizjXA4lu9evU2zWqwpIMGSV6W5OFJHlZVs32dSZL+57X9uvGZAmZ/Xps7ZxeYazaBVSNtrJ2n5l5JrhpQM9rOAQvUAAAAAAAAAMBUWuq3TnhOkp9O8t0kt/dfL0pyYP/945NsSHLQ2ONmf26ttZuTXDNeU1X3TRcaaLO1c9QsT/KAzdWM/L7RmgP62RjmqwEAAAAAAACAqbTUgwbHJvnFsa9zk6zpv/9okouTHDV2Yv/odLMHfLX/+YIkz6iqXcdqNiS5cKTmiKq690jNkelmPfjMSM1Da2Rulqp6cJKDx2r2TPLEkZr7JDl8pAYAAAAAAAAAptKSvnVCa+0uMwBU1fVJbm2tfbX/+Y3pTuB/uKrOSvKYJK9OcmJrbfYGQacmeUGS86rqbUkelOTNSd7bWvtOX/POJC9P8tmqOjnJ3v3jPtla+1Jfc3aSP0hyflWdlO42Dn+c5BtJPtL3+eKqurDvzwlJfpjk9UluTPKuRfizAAAAAAAAAMDELPUZDRbUWvtcutkJfj7Jx5L89ySvbq2dOlJzee6cneCcJMcnOSPJcSM11yU5Isn1ST6Y5E3pwgPHjNTcmuRJSf4lyZ8neUeSLyV5cmvtjpFuHZXk40lOS3JWuhkYfrm1dsPi/csBAAAAAAAAYMeb2bRp06T7wAIuueSSG5cvX77HIYccsijtXbPuxny8fX1R2oLNeWY9PPvuvuekuwEAAAAAwCJbv3591qxZM+lusBPYb7/9snLlykl3A+52Vq9enQ0bNqw99NBDt+pk3tTPaAAAAAAAAAAA7DiCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGCCBgAAAAAAAADAYIIGAAAAAAAAAMBgggYAAAAAAAAAwGArJt2BhVTVsiQvSfK7SQ5I8v0kf5/kda21m/qaRyU5LcmjkqxLcla//faRdh6Y5Iwkj09yR5KPJjlhto2+Zp++5slJdklyXpJXtta+N1KzKskpSY5OsirJxUmOa619c6RmRZLXJfmNJHsnuSTJ77fW/nmR/iwAAAAAAAAAMBHTMKPBCUnekeQTSZ6d5PQkv54uKJCqOijJZ5P8KMnz+u3HJ/mT2Qaqaq8kn0uyT5IXJTkpyfOTfGikZkWSTyU5LMlL+6/HJjm/3zbr7CTPTfKavq19k3y+qvYYqfnTvg+nJDkmXbDhM1V1wLb+MQAAAAAAAABgkpb0jAZVNZMuaPCe1tpJ/erPVNX1ST5cVYck+b0ka5M8q7V2W5Lzqmp9krdX1Vtaa9ckeVmSvZIc0lq7vm97TV97WGvtK+mCB49I8uDW2mV9zeok30g3e8HZVfW4JE9L8tTW2vl9zReSXJnkd5KcUlX3T3Jskt9rrb27r7kgyb8leXW6AAMAAAAAAAAATKWlPqPBvZJ8IMlfj62/vF8emOTIJP/QhwxmnZNkeb8t/fKi2ZBB74IkN6ULDszWXDobMkiS1tqlSS4bq7kpyadHaq5NctFIzRP63/03IzW3Jjl3pAYAAAAAAAAAptKSDhq01ta11l7RWvvHsU3P7peXJdk/SRt73LVJ1iWpftXBc9RsSDcTwbw1vSvGaq7oH7u5mhv6PozX/FxV3XOO3wEAAAAAAAAAU2FJ3zphLlV1WJITk3wsyQ396nVzlN6UZPf++z0G1lw6T80Dt7Cd+WqSbpaGH82xfbM2bNiQ1ubKQWyZ/ffff5vbgC2xfv36XH311ZPuBgAAAAAAi8S5BnY05xpg8W3YMH5t/ZZZ0jMajKuqxyY5P91MBC9OMtNv2jRH+UySjSPfL4WajNQBAAAAAAAAwNSZmhkNquqYJGcl+bckT2mtXV9Vq/rNu8/xkFVJ1vbfr52n5l5JrhpQM9rOAQNq5msnmXu2gwUtX748VbVw4QA3rLttUdqBIVauXLloz10AAAAAAJaG9evXT7oL7ESca4DFt3r16m2a1WAqZjSoquOTfCjJl5Mc3lr7bpK01m5Ock2Sg8bq75vuZP/svQbaHDXLkzxgczW9g8ZqDqiqmQVq7l1Ve81Rc2VrzVl+AAAAAAAAAKbWkg8aVNVvJzk9yUfSzWSwdqzkgiTPqKpdR9YdnWRDkgtHao6oqnuP1ByZbtaDz4zUPLRG4lBV9eAkB4/V7JnkiSM190ly+EjNp/vlc0Zq7pHk6SM1AAAAAAAAADCVlvStE/qZCc5M8u0k70jyyLFpUa5IcmqSFyQ5r6reluRBSd6c5L2tte/0de9M8vIkn62qk5Ps3T/uk621L/U1Zyf5gyTnV9VJSWaS/HGSb6QLOaS1dnFVXZjkw1V1QpIfJnl9khuTvKuv+XZVvT/Jmf2tHb6Z5Pgke/W/EwAAAAAAAACm1lKf0eApSVYmuV+SL6S7dcLo11Naa5fnztkJzkl3Uv+MJMfNNtJauy7JEUmuT/LBJG9KFx44ZqTm1iRPSvIvSf48XbDhS0me3Fq7Y6RPRyX5eJLTkpyVZE2SX26t3TBSc2ySdyc5MV2AYUWSJ7XWrtjGvwcAAAAAAAAATNTMpk2bJt0HFnDJJZfcuHz58j0OOeSQRWnvmnU35uPt64vSFmzOM+vh2Xf3PSfdDQAAAAAAFtn69euzZs2aSXeDncB+++2XlStXTrobcLezevXqbNiwYe2hhx66VSfzlvqMBgAAAAAAAADAEiJoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMJmgAAAAAAAAAAAwmaAAAAAAAAAAADCZoAAAAAAAAAAAMtmLSHQCYpE2bbs/GjTdPuhvsBJYtW5WZmV0m3Q0AAAAAAIBtJmgA7NQ2brw5t932tUl3g53Arrs+MsuX7zXpbgAAAAAAAGwzt04AAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGWzHpDgAAwFKx8ZZbcse13590N9gJrLjPPlm2226T7gYAAAAAbBVBAwAA6N1x7fez9py/mnQ32Ans8ZwXZtf97zfpbgAAAADAVnHrBAAAAAAAAABgMEEDAAAAAAAAAGAwQQMAAAAAAAAAYDBBAwAAAAAAAABgMEEDAAAAAAAAAGAwQQMAAAAAAAAAYDBBAwAAAAAAAABgMEEDAAAAAAAAAGAwQQMAAAAAAAAAYDBBAwAAAAAAAABgMEEDAAAAAAAAAGAwQQMAAAAAAAAAYDBBAwAAAAAAAABgMEEDAAAAAAAAAGAwQQMAAAAAAAAAYDBBAwAAAAAAAABgMEEDAAAAAAAAAGAwQQMAAAAAAAAAYLAVk+4AAAAAS8stt9+RH6xdP+lusJO47x4rs9suPp4AAACAaeJIHgAAgJ/wg7Xrc/YXL590N9hJHPO4g/NzP737pLsxr423/yh3rPuPSXeDncCK3X82y3a556S7AQAAMIigAQAAAMA87lj3H1n75fdMuhvsBPZ49LHZde8DJ90NAACAQZZNugMAAAAAAAAAwPQQNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAYTNAAAAAAAAAAABhM0AAAAAAAAAAAGEzQAAAAAAAAAAAZbMekOAACTd8ftG3LzzbdMuhvsBFat2i0rdlk+6W4AAAAAALANBA22o6p6QZI/THJAkquSvKW19pcT7RQAzOHmm2/J11d/Z9LdYCfw8EN+Lnvu9VOT7gYAAMBW2bRhYzbecvuku8FOYtluu2RmuYmpAViaBA22k6p6bpIPJvnTJOcneXaS91fV+tbaORPtHAAAAAAAW2zjLbfntiuvn3Q32Ens+oC9s/yn7jHpbgDAnAQNtp+3JPlIa+2V/c+fqqp7J/mjJIIGAAAAAAAAMOVuv+X2rPvBukl3g53A7vfdPbvstsuku/FjggbbQVUdkOTAJCeNbTonyfOq6gGttSt3fM8AAAAAAACAxbLuB+vylQ99ZdLdYCdw2AsOy94/t/eku/FjM5s2bZp0H+52quppST6R5BGtta+PrP+FJF9L8tTW2vlD27vkkks2JplZjL4tW9bdz8n/OjvC7JN248aNE+3HfJYtW5aZmcTLIDvC7HNtKY6H2X0D7EhLdSzMJPH+mB1hZmYmm7J0x0LiPRI7zkx/4LBUx0O3b1h6fePuZ2Zm2ZLeN8zMLMpHUzDIpk2blu5YyEw2+XSVHWT2+bZUxwPsaEt5LPg8iR1h9j35Io+FTYceeuhWvaib0WD72KNfjs+TclO/3H0L29uYZNkc7W2xpfgizN3XUt+tGg/QMRagYyywQy3hDyCMBXa0JTwcjAd2rCUcaDEWoGMswJ2MB+gYC+xI2yHQsnu689BbRdBg+5iNeI//b//4Au8taezQQw/1/wQAAAAAAADAkmBum+1jbb8cn7ngXmPbAQAAAAAAAGCqCBpsH61fHjS2/qCx7QAAAAAAAAAwVQQNtoPW2hVJrkzynLFNRyf5ZmvtOzu+VwAAAAAAAACw7VZMugN3Yycn+YuquiHJuUmemeR5SZ4/0V4BAAAAAAAAwDaY2bRp06T7cLdVVccmeVWS/ZP8e5K3tNb+arK9Ahl5eqwAABTaSURBVAAAAAAAAICtJ2gAAAAAAAAAAAy2bNIdAAAAAAAAAACmh6ABAAAAAAAAADCYoAEAAAAAAAAAMJigAQAAAAAAAAAwmKABAAAAAAAAADDYikl3AJaqqvpokrWttRcPqD0yyZuSPCTJ95O8o7V2+nbuIiy6qppJclyS302yf5J/S3JKa+2vN/OYVUlOSXJ0klVJLk5yXGvtm9u/x7D4quqQJP9vkge01taMrN/i1/qqWpHkdUl+I8neSS5J8vuttX/ePr2HxTM+Fqrq/kmu3MxDXt9ae8M8bRkLTJWqWpbkJeneEx2Q7nX/75O8rrV20xz1xyV5W5L9R/cd87R9XJKXJ9k3yWVJXtta++Ti/gtg8WzJMUJV7ZvkX5P8Smvtiwu0a9/AVBkyFqrq6CR/mORBSdYkeVeSM1trGzfTrrHAVKuqv03y8NbaQSPrrkhy4Bzl92mtXTdPO8YCU6V/zt6UZLexTf/ZWlvV1zw3yQlJDk5yY5LPJHlNa+0HC7TtmIGpstB4qKrlSV6T5P9K8jNJWpLTWmt/NaBd+4YlzIwGMKaqZqrq1CTPGVj/mCTnJrk8yVFJPpjkrVX1qu3XS9huTkpyWpL3J/mVJJ9O8sGqet5mHnN2kueme6PwonRvgD9fVXts577CoquqSveavmJs/da+1v9pkuPThXGOSXJHks9U1QGL3HVYVPOMhe8mefQcX59Psi7JhzbTpLHAtDkhyTuSfCLJs5OcnuTXk3x0vLCqHpjkLUMarapX922dlW5/8u9JPl5Vj16UXsP2MegYoap+Jsn5SYYeB9g3MG02Oxb6YPI5Sb6e5FlJ/jLda/7vL9CuscDUqqpfS/KrY+tWpQtqnpi7HjvcuJnmjAWmTaU7qfrr+cnn+RFJUlXHJPlIuhOjs0G0J6R7Xt9j3kYdMzCdNjsekpyZ5I1JPp7kGeneT72zqv7HAu3aNyxxM5s2bZp0H2DJ6D9UPzPJ4Uk2JfnrhWY0qKrPJFnVWvuvI+tOSXcF1H9prd26HbsMi6aqdkl3td4HW2svH1l/YZLlrbXHz/GYxyX5QpKnttbO79fdJ90Vr3/UWjtlR/QdtlWfjn1Jkj9OcnuSe2fkqtStea3vr/6+Isnvtdbe3a+7R7orn85rrb10u/6jYCssNBbmqH9Wko8leW5r7Zx5au4fY4Ep0l+xen2SD7XWXjay/pgkH07yC6211f265eneC+2fZL9sfrz8VJJrkry7tXbiyO/6UpIbW2tP3X7/Ktg6Q44R+ufx89LN6rFrun3H4zc3o4F9A9Nm4Fj46yT/R5IHzc5gUFV/mW48PGCedu8fY4EpVVU/m+QbSf4zya2zMxr0Qf1/TPLzrbXLB7Z1/xgLTJmq+j+T/FWSe7XW1s+xfXWSa1prTx9Zd1iSf0ryq621j83xGMcMTKXNjYf+fMH30j2vR4+xX5ouxLlva+0uQTT7hulgRgP4Se9Jd/XFo5NsdvqiJKmq3dKFEv5mbNM5SfZM8pjF7iBsRxuS/Lfc9Yq823LXKY9mHZluSqRPz65orV2b5KIkT9sOfYTt5XFJTk2XGH/N6IZteK1/QpLlo4/rAwnnxvhg6Zp3LIyrqnumC2h+Yr6QQc9YYNrcK8kHkoxPCz/7QfnoNMCvSrJPunDOQg5Ld6wxOhY2JfnbJE+sql23tsOwHQ05Rrhfug8VP5puhrMh7BuYNkPGwm7ppgcevU3C9emm+Z2PscA0e1+SC5J8dmz9IUluSbIlt9Q0FphGhyT51jwhg5l0t0l479imuY4pRjlmYFrNOx6SHJTufPS5Y+svTrIyyS/N06Z9wxRYsXAJ7FRe3lr730nSTW6woAOS7JLufjKjruiXlW46YVjy+g9DZp//M0num+Q3kzwxybHzPOzgJFe01jaMrb8i3VRGMC0uS3JAa+0HVfUbY9u29rX+4CQ39OGb8cf9XFXds7X2o23rNiy6zY2Fccelu13OLy9QZywwVVpr65K8Yo5Nz+6X/5okVfWQJK9P8pQkc16pOubg2V8xtv6KdMfmB+TODx5hSRh4jHBduiu4r6qqXxrYtH0DU2XgWPizJJ+sqpenu23CoX3N5u49bCwwlarqxeme4w9JdzXqqEeknx2qv6XIinQnhf5Ha+178zRpLDCNHpHk1qo6P11o//Z0t0p4VWvtpnSh5HE/cUwxB8cMTKt5x0OS7/Q19xt7zAFjy3H2DVNA0ABGzIYMtsDsvSfXja2/qV/uvm09gok5Kt3V2kl3b+IPzFO3R+76/E+6MeD5z9RorX1/M5u39rV+c+Mj6a6Y9WaYJWWBsfBj/VUUr0g3tfwVC5QbC0y9forTE5N8rLV2eX+bkfcneV9r7aKqGhI0mN2f3DS23rED02LOY4TW2s1Jbt7CtuwbmGbzHS9/Lt0J1zP7r6Sb/e+Vm2nLWGDqVNX9kpyR5Ddba9fNcbHWI5L8l3QnUt+e7kTRyUk+X1WPnOekkLHANHpEuvfwf57kzUkelS6IXFV1RD8TwY9V1YHp9hNfSzcbyFwcMzCt5h0PSY5IN8PHyVW1Jt3tBx+S5JQkG5P81Dxt2jdMAUEDdkpVtSxjtw5prd2xFU3N9MtN82zfOM96WOq+lm5ayIcn+aN0H548YY66mcz9/J+J5z93H1v7Wr+58bG5x8E0eE6Sn0ny1gG1xgJTraoem+4qvCuTvLhf/doke6ULHwxlLDDthh4jDGE8MM3mGwvvSvJbSd6QbsazB6c7ufrRqnr2+AmnnrHAVOln9Phf6e6NPX57wVmvSDLTWvtK//MXqurSJF9M8mvpTkKNMxaYRsck+eHIxYsXV9X30wXQnpiRW81W1cHpwgV3JHne2G12RhkLTKuFxsMLk/xFkn/ot/8gye8l+VCSuW63kBgPU0HQgJ3V/53kdWPrZuYqXMDafjmeJNx9bDtMldbalek+TL+4qtYleX9VPbq19uWx0rWZe2qje8Xzn7uPrX2tXzvHY5JufCRzJ3JhWjwnyddba18fUGssMLWq6pgkZyX5tyRPaa1dX1W/kOQP0t0T8tZ+doPZEPPyqlo2zweHa9Mdc6zKT16hdK+R7bBkbcExwhD2DUytecbCY5O8JMnJrbXX96UXVdW3knwqydNz1/sSJ8YC0+dl6UI2D+vfAyX9Z6r9zxtaa/88/qDW2j9W1dp0V7zOxVhg6rTWLppj9Sf65SPSBw36W0v9bboZoI5orX1rM806ZmAqLTQeWmufTvLUqto7yT5JvpnuApblSX44T7P2DVNg2cIlcLf03iS/OPa1Nb6VZEOSg8bWz/48fi8lWLKq6t5V9cKq+tmxTV/rl/vO8bCW5IA+0T7qoHj+c/exta/1Lcm9q2qvOR53ZWvttsXrIuw4VbVLkienu9feEMYCU6mqjk93dcWXkxzeWvtuv+lZSXZNN/Xj7f3X/9NvuyrdVX5zmd1fzLU/uTXJtxel47CItvIYYQj7BqbKgLHwhHQnhv5xbPvF/fIh8zRtLDBtnpPkp5N8N3e+D3pRkgP773+3qn6zqn4iUNB/brRrkuvmaddYYKpU1X2r6sVVNX4B1j375XV93THpAmdrkjy6tXb5Ak07ZmDqDBkPVfX8qnpoa+361tqlrbXbkzyy3/61zM2+YQoIGrBTaq39R2vtq6NfW9nOLekOGo8aO9F6dLq01Va1CxOyLN29ho8dW39kv/zfuasLkuyZbvqjJElV3SfJ4ek+fIeptw2v9bNT5D1ndkVV3SPd1UzGB9PsYUlWppv6dAhjgalTVb+d5PR0gZqntNZGrxyaK7T8hn7b09Pdh3IuX0ryn/nJsTCT7l7fF/uQhCVqa44RhrBvYNosNBYuSBdOPnxs+6P75VXztGssMG2OzV3fB52b7iTqLyb5cLr3UOMzyT4r3QmnC+dp11hg2mxM8p50U7+POibd/uCLVfXkdNPGfznJ41pr1wxo1zED02jB8ZBulvFXz27ob2/+iiT/nvmPKewbpoBbJ8AW6qdKvbW1dmm/6o3pXtQ+XFVnJXlMuhfME1tr891bBpac1tp1VfXOJCdW1fp0J08fl+SkJO9rrbU+RHBgkktba+taaxdX1YXpnv8npJvm6PVJbkx3f0q4u1jwtb6qdk93H9Zvtdauba19u6ren+TMqlqVbkqw49Pd0/vUCfwbYLE8rF9eOtdGY4FpV1X3TXJmuquF3pHkkVU1WnLFeFC5qh7af/v11tqaft09kvxCkjWttTWttfVVdVqS/1lVdyT5p3T38j40yS9tx38SbLUhxwhD2rFvYNoNGAtfqaq3J3lNVW1M8vkklS6I9v8l+bvEWGD6zfW6X1XXp/us9Kv9z29McnpVnZnk40kemm4s/H1r7cK+xlhgqvX7hT9L8or+NjpfSPLYJK9Ndwxxdbpgzc1J3pTkwWPHFFe31q5xzMDdwULjobV2Rf8+6e1V9a/p3ke9JMl/S3LU7K0H7Rumk6ABbLm/S5dE/6Ukaa19rqqOTveG+WNJrkny6tba6ZPqIGyDVyb5TpLfTvecXpMuhf7WfvvTk/xFkiNyZwr9qCRnJDkt3VUeX0zyvNbaDTus17CdDXytf2S6DxR/M939vJPuao8bkpyY7v56lyR5Umvtih3Uddge9umX873OGwtMu6ekm7Xjfuk+IBn3wnRXJi3kZ9JdvfSG3DnLwRuS3JHuQ5UT0gV2ntlaG59qG5aShY4RhrBv4O5gobHw+/26Y9M9r9ekuwXP60auQDUWuNtrrZ1RVWuTHJfkxekuSnl3fnLWJ2OBu4PZ1/3fSve8vSbdfuHUdGG02VtMXTDHY/9nuotaHDNwd7G58ZB0+4GVSV6W5L5JvpHkGa2180basG+YQjObNm2adB8AAAAAAAAAgCmxbNIdAAAAAAAAAACmh6ABAAAAAAAAADCYoAEAAAAAAAAAMJigAQAAAAAAAAAwmKABAAAAAAAAADCYoAEAAAAAAAAAMJigAQAAALDVquqqqrpw0v0AAAAAdhxBAwAAAAAAAABgMEEDAAAAAAAAAGAwQQMAAAAAAAAAYLAVk+4AAAAAcPdQVTNJjk3yW0l+PskuSa5K8hdJTm2tberrrkpyfpIvJjkpyYFJrk7yttban421+dQkr0/y0CTfT3JG/v/27j/U6voM4Pj7ppbF2rJcutjMZPYMCrPZZgw2ttEgnaAxoawRQhaUVOSMpFZgho5wWwvXD9Y/ZW1hUklbRURFLMVlBEXWQ2T0a5oG/cLs5ubdH5/PqS/HMzr36p2e8X7B4Zzv9/t8P8/zvf/e5/t5YCpwRmZOrDFPARNbx4179zofEXOBS+sahwPvAPcB12ZmfyNuOrAC+B7wEfAnYA+wNDP7GnHfBJYDM4AjgZeBlZl5T9d/OEmSJEmSeow7GkiSJEmSpP1lGXArsBlYBFwNfAr8Bji/LXYGcDOwFrgC2AmsioiZrYCImAU8BBxa11oLrATOGkpxEbGA0lTwAXAVsBh4A7gSWNKImwY8CUwErqc0GVxeP831jgM2AmfUZ1kMvAfcHRFXDqVGSZIkSZJ6gTsaSJIkSZKkfRYRoyg7BdybmfMb5+8AtgO/AO5s3PItYGpmvlDjHgD+CZwHPFxjbgK2AD/IzF017hngQeDjIZT5K2ADMKexu8ItwOu1vqU17kagH5iemTtq3DpgU9t6y4HRwMmZubWeWxUR9wDLIuLOzNw+hDolSZIkSTqouaOBJEmSJEnaZ5m5GxgHXNR2aSxl9MBX9r6lNBnUg22U0QjjASJiCmWkwm2tJoMat44ynmAopgAzW00G1bHA+636ImIM8GNgdavJoOZ9HnisdRwRhwBzgKeB3RExtvUB7gcOA342xDolSZIkSTqouaOBJEmSJEnaXz4Dfh4Rs4EAJgNj6rX2lx12sLd+YET9Pbl+v9ohLoFTB1tcZu6OiNMiYh7wHeDblEYDKCMUACbVWjvlfQU4s/4eC3yN0mww57+knDDYGiVJkiRJ6gU2GkiSJEmSpH0WEX3A3cA84O/AeuB2yhv/T3S4Zc+XLDmqfvd3uPZpl2WNaB5ExApgCfA8ZYTC6lrnKr5oCug2b2vttZTn7GRLl3VKkiRJktRTbDSQJEmSJEn7ww8pTQbLMvO61smIGAkcw+D/6d6KP5HGyIJqctvxvymjCtqNb9RxPKXJYHVmnt8MiojxjcNm3nbNvDuAT4BRmfl423oTgO8COzusIUmSJElSz2vftlCSJEmSJGkojqnfm9vOXwgcweBfdtgEvAVcEBGfNxFExOmUf+I3bQOOjYjjGnHTKKMRWo7uVF9EzKQ0EIwEyMztlF0O5kXEmEbcCcCM1nFm/gt4mDIq4pS2en4HPEAZryBJkiRJ0v8ddzSQJEmSJEn7w3rgI+D39Y3+D4CfAGdTRg4cOZjFMnNPRCwC1gDrI+Iu4OvA5ZSxBgON8L8A5wKPRMStwDjgUuBV4NAasxl4E7g6IkYDbwPfB+Z3qG8x8BTwbETcRtkt4TKgr63MJcBPgacj4o/AG8Cs+rk9M18azDNLkiRJktQr3NFAkiRJkiTts8x8F5gJvAZcCywHjgfOAW4BToqIcYNccy2lUWEkcCOlmWARZbeD/kbcX4GFwOHAH4C5wMU0Ri5kZn+tbwOlWWElMK3+vgr4at0FgczcAJxJGY9wA3AJcDNwf1ve14DpwN8oOzfcBEyqNS4czLNKkiRJktRL+gYGBr48SpIkSZIk6X8oIkYAR2fmjg7XXgTez8wfDVPu8Zm5rcP5h4BTMnPCcOSVJEmSJKlXuKOBJEmSJEk6GI0A3qmjCz4XEScDJwH/GMbcGyPi0ba84yijIIYzryRJkiRJPWHkgS5AkiRJkiSpXWZ+FhFrgAURMQA8B3yDMsbgPeC3w5h+NXBNRPwZeBI4CriI8sLG0mHMK0mSJElST7DRQJIkSZIkHawuBBL4JTAf+BB4HPh1Zm4dxrzXAe/W/LOBXcAzwNzMfHEY80qSJEmS1BP6BgYGDnQNkiRJkiRJkiRJkiSpRxxyoAuQJEmSJEmSJEmSJEm9w0YDSZIkSZIkSZIkSZLUNRsNJEmSJEmSJEmSJElS12w0kCRJkiRJkiRJkiRJXbPRQJIkSZIkSZIkSZIkdc1GA0mSJEmSJEmSJEmS1LX/AEKn5pClf2JHAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.countplot(df_songs['language'], palette=\"Set3\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.4、歌曲额外信息（song_extra_info.csv）\n",
    "\n",
    "#### （1）字段说明\n",
    "\n",
    "    song_id：                  歌曲id\n",
    "    song_name：             歌曲名称\n",
    "    isrc:                          国际标准音像制品编码（International Standard Recording Code），理论上可以用作歌曲的标识，但是可能有错误。因为若\n",
    "                                 产生的ISR没有经过官方授权的话，其ISRC中的信息，如国家代码和参考年份可能不正确，且多首歌曲可能共享共一个ISRC，因\n",
    "                                 为一首歌曲的音像制可发行多次。\n",
    "    \n",
    "\n",
    "#### （2）数据基本信息\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>song_id</th>\n",
       "      <th>name</th>\n",
       "      <th>isrc</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>LP7pLJoJFBvyuUwvu+oLzjT+bI+UeBPURCecJsX1jjs=</td>\n",
       "      <td>我們</td>\n",
       "      <td>TWUM71200043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>ClazTFnk6r0Bnuie44bocdNMM3rdlrq0bCGAsGUWcHE=</td>\n",
       "      <td>Let Me Love You</td>\n",
       "      <td>QMZSY1600015</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>u2ja/bZE3zhCGxvbbOB3zOoUjx27u40cf5g09UXMoKQ=</td>\n",
       "      <td>原諒我</td>\n",
       "      <td>TWA530887303</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>92Fqsy0+p6+RHe2EoLKjHahORHR1Kq1TBJoClW9v+Ts=</td>\n",
       "      <td>Classic</td>\n",
       "      <td>USSM11301446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0QFmz/+rJy1Q56C1DuYqT9hKKqi5TUqx0sN0IwvoHrw=</td>\n",
       "      <td>愛投羅網</td>\n",
       "      <td>TWA471306001</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        song_id             name          isrc\n",
       "0  LP7pLJoJFBvyuUwvu+oLzjT+bI+UeBPURCecJsX1jjs=               我們  TWUM71200043\n",
       "1  ClazTFnk6r0Bnuie44bocdNMM3rdlrq0bCGAsGUWcHE=  Let Me Love You  QMZSY1600015\n",
       "2  u2ja/bZE3zhCGxvbbOB3zOoUjx27u40cf5g09UXMoKQ=              原諒我  TWA530887303\n",
       "3  92Fqsy0+p6+RHe2EoLKjHahORHR1Kq1TBJoClW9v+Ts=          Classic  USSM11301446\n",
       "4  0QFmz/+rJy1Q56C1DuYqT9hKKqi5TUqx0sN0IwvoHrw=             愛投羅網  TWA471306001"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_songs_extra.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （3）异常值\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "song_id         0\n",
       "name            2\n",
       "isrc       136548\n",
       "dtype: int64"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_songs_extra.apply(lambda x: sum(x.isnull()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "name_rate：0.000087%\n",
      "isrc_rate：5.947288%\n"
     ]
    }
   ],
   "source": [
    "print(\"name_rate：{:%}\".format(sum(df_songs_extra['name'].isnull()) / df_songs_extra.shape[0]))\n",
    "print(\"isrc_rate：{:%}\".format(sum(df_songs_extra['isrc'].isnull()) / df_songs_extra.shape[0]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    理解：实际上在预测用户喜好时，可以不用歌曲名字name，因为歌曲id可以唯一标识，故这一列删除。而歌曲的音像制品编码，则可以转换为歌曲发布的时间信息，用于表示时序模型。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （4）类别型变量\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 歌曲年份\n",
    "def isrc_to_year(isrc):\n",
    "    if type(isrc) == str:\n",
    "        if int(isrc[5:7]) > 17:\n",
    "            return 1900 + int(isrc[5:7])\n",
    "        else:\n",
    "            return 2000 + int(isrc[5:7])\n",
    "    else:\n",
    "        return np.nan\n",
    "\n",
    "    \n",
    "df_songs_extra['song_year'] = df_songs_extra['isrc'].apply(isrc_to_year)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a224ff550>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.countplot(df_songs_extra['song_year'], palette=\"Set3\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    理解：流行歌曲的发布时间集中于近几年"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 三、数据处理\n",
    "\n",
    "### 3.1、数据筛选\n",
    "\n",
    "    个人觉得，在推荐系统中应该建立如下观点：操作次数特别少的用户和物品虽然占了绝大多数，但这部分行为不具备统计规律，不能真实反映用户的喜好，故选择这些数据进行训练，不能得到正确的结果。所以，数据集筛选为{播放次数大于10次的音乐操作记录} ∩ {播放次数大于35次的用户操作记录} 进行训练。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 通过value反向获取key\n",
    "def get_key (dict, value):\n",
    "    return [k for k, v in dict.items() if v < value]\n",
    "\n",
    "\n",
    "# 筛选歌曲：297827首\n",
    "train_song_id_dict = df_train['song_id'].value_counts().to_dict()\n",
    "del_train_song_id_list = get_key (train_song_id_dict, 10)\n",
    "\n",
    "# 筛选用户：8673个\n",
    "train_msno_dict = df_train['msno'].value_counts().to_dict()\n",
    "del_train_msno_list = get_key (train_msno_dict, 35)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "保留数据：6608127 \t保留百分比：89.572354%\n"
     ]
    }
   ],
   "source": [
    "# 清洗 df_train: 7377418 -->\n",
    "#        df_train_tmp: 6708085 -->\n",
    "#        train: 6608127 \n",
    "\n",
    "df_train_tmp = df_train[~df_train['song_id'].isin(del_train_song_id_list)]\n",
    "train = df_train_tmp[~df_train_tmp['msno'].isin(del_train_msno_list)]\n",
    "\n",
    "\n",
    "print(\"保留数据：{} \\t保留百分比：{:%}\".format(len(train), len(train)/len(df_train)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2、删除无关列\n",
    "\n",
    "    不需要用到的列有：\n",
    "        1. train：                无\n",
    "        2. test：                无\n",
    "        3. members：         gender、（registration_init_time、expiration_date）--> use_time\n",
    "        4. songs：              composer、lyricist\n",
    "        5. song_extra_info：name、（isrc）--> song_year"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_members.drop(['gender', 'registration_init_time', 'expiration_date'], axis=1, inplace=True)\n",
    "df_songs.drop(['composer', 'lyricist'], axis=1, inplace=True)\n",
    "df_songs_extra.drop(['name', 'isrc'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.3、填充空值\n",
    "\n",
    "    暂时统一用 Unknown 填充：\n",
    "        1. train：                source_system_tab、source_screen_name、source_type\n",
    "        2. test：                同上\n",
    "        3. members：         无\n",
    "        4. songs：              genre_ids\n",
    "        5. song_extra_info：(song_year) --> new column"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "# train 和 test\n",
    "df_train['source_system_tab'].fillna(value=\"Unknown\", inplace=True)\n",
    "df_test['source_system_tab'].fillna(value=\"Unknown\", inplace=True)\n",
    "\n",
    "df_train['source_screen_name'].fillna(value=\"Unknown\", inplace=True)\n",
    "df_test['source_screen_name'].fillna(value=\"Unknown\", inplace=True)\n",
    "\n",
    "df_train['source_type'].fillna(value=\"Unknown\", inplace=True)\n",
    "df_test['source_type'].fillna(value=\"Unknown\", inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "# songs\n",
    "df_songs['genre_ids'].fillna(value=\"Unknown\", inplace=True)\n",
    "\n",
    "# song_extra_info（数值型变量，并非类别型）\n",
    "df_songs_extra['song_year'].fillna(value=0, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.4、处理异常值\n",
    "\n",
    "    处理成适合one hot编码的格式：\n",
    "        1. train：                无\n",
    "        2. test：                无\n",
    "        3. members：         bd、（use_time）--> new column                 ||        age_category、use_time_range\n",
    "        4. songs：              song_length、genre_ids                                ||       song_length_range、genre_count\n",
    "        5. song_extra_info：无"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    （1）年龄"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_members['age_range'] = pd.cut(df_members['bd'], bins=[-44, -1, 0, 15, 18, 22, 26, 30, 35, 40, 50, 60, 1052])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a82b9cba8>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.countplot(df_members['age_range'], palette=\"Set3\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_members['age_category'] = pd.cut(df_members['bd'], bins=[-44, -1, 0, 15, 18, 22, 26, 30, 35, 40, 50, 60, 1052], \n",
    "                                                                            labels=['outer_minus', 'undefined', 'children', 'teenager', 'youth', 'young_adult', 'adult', 'thirties',\n",
    "                                                                                    'middle_aged', 'elder', 'old', 'outer'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 34403 entries, 0 to 34402\n",
      "Data columns (total 7 columns):\n",
      "msno              34403 non-null object\n",
      "city              34403 non-null object\n",
      "bd                34403 non-null int64\n",
      "registered_via    34403 non-null object\n",
      "use_time          34403 non-null timedelta64[ns]\n",
      "age_range         34403 non-null category\n",
      "age_category      34403 non-null category\n",
      "dtypes: category(2), int64(1), object(3), timedelta64[ns](1)\n",
      "memory usage: 1.4+ MB\n"
     ]
    }
   ],
   "source": [
    "df_members.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 删除无关列\n",
    "df_members.drop(['bd', 'age_range'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    由于 bins 的 label标签值不允许重复，所以也可以选择以下这种方式："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "# # 数值型，如果不采取独热编码\n",
    "# df_members.loc[(df_members['bd'] > -1) & (df_members['bd'] <= 0), 'age_category'] = 0\n",
    "# df_members.loc[(df_members['bd'] > 0) & (df_members['bd'] <= 15), 'age_category'] = 1\n",
    "# df_members.loc[(df_members['bd'] > 15) & (df_members['bd'] <= 18), 'age_category'] = 2\n",
    "# df_members.loc[(df_members['bd'] > 18) & (df_members['bd'] <= 22), 'age_category'] = 3\n",
    "# df_members.loc[(df_members['bd'] > 22) & (df_members['bd'] <= 26), 'age_category'] = 4\n",
    "# df_members.loc[(df_members['bd'] > 26) & (df_members['bd'] <= 30), 'age_category'] = 5\n",
    "# df_members.loc[(df_members['bd'] > 30) & (df_members['bd'] <= 35), 'age_category'] = 6\n",
    "# df_members.loc[(df_members['bd'] > 35) & (df_members['bd'] <= 40), 'age_category'] = 7\n",
    "# df_members.loc[(df_members['bd'] > 40) & (df_members['bd'] <= 50), 'age_category'] = 8\n",
    "# df_members.loc[(df_members['bd'] > 50) & (df_members['bd'] <= 60), 'age_category'] = 9\n",
    "# df_members.loc[(df_members['bd'] > 60) & (df_members['bd'] <= 1052), 'age_category'] = 10\n",
    "# df_members.loc[(df_members['bd'] > -44) & (df_members['bd'] <= -1), 'age_category'] = 10"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    （2）注册时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_members['use_time_tmp'] = df_members['use_time'].dt.days"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 当天、三天、一周、一个月、三个月、六个月（半年）、九个月、一年、一年半、两年、三年、四年、五年、六年、七年、十年、十二年、十五年\n",
    "df_members['use_time_range'] = pd.cut(df_members['use_time_tmp'], \n",
    "                                                        bins=[-1, 0, 3, 7, 30, 90, 180, 270, 365, 550, 730, 1095, 1460, 1825, 2230, 2555, 3650, 4380, 5470], \n",
    "                                                        labels=['day_1', 'day_3', 'day_7', 'month_1', 'month_3', 'month_6', 'month_9',\n",
    "                                                                  'year_1', 'year_1.5', 'year_2', 'year_3', 'year_4', 'year_5', 'year_6', 'year_7', 'year_10', 'year_12', 'year_15'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a245ab978>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.countplot(df_members['use_time_range'], palette=\"Set3\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 删除无关列\n",
    "df_members.drop(['use_time', 'use_time_tmp'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    （3）歌曲时长"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_songs['song_length_sec'] = df_songs['song_length'] / 1000\n",
    "df_songs['song_length_range'] = pd.cut(df_songs['song_length_sec'], \n",
    "                                                        bins=[0, 70, 120, 150, 180, 210, 240, 280, 360, 540, 18000], \n",
    "                                                        labels=['min_1', 'min_2', 'min_2.5', 'min_3', 'min_3.5', 'min_4', 'min_4.5', 'min_6', 'min_9', 'hour_3'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a22d36d68>"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 2520x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sn.countplot(df_songs['song_length_range'], palette=\"Set3\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 删除无关列\n",
    "df_songs.drop(['song_length', 'song_length_sec'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    （4）歌曲流派"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_songs['genre_ids'] = df_songs['genre_ids'].str.split(\"|\")\n",
    "df_songs['genre_count'] = df_songs['genre_ids'].apply(lambda x : len(x) if \"Unknown\" not in x else 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>song_id</th>\n",
       "      <th>genre_ids</th>\n",
       "      <th>artist_name</th>\n",
       "      <th>language</th>\n",
       "      <th>song_length_range</th>\n",
       "      <th>genre_count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>kKJ2JNU5h8rphyW21ovC+RZU+yEHPM+3w85J37p7vEQ=</td>\n",
       "      <td>[864, 857, 850, 843]</td>\n",
       "      <td>貴族精選</td>\n",
       "      <td>17.0</td>\n",
       "      <td>min_4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>N9vbanw7BSMoUgdfJlgX1aZPE1XZg8OS1wf88AQEcMc=</td>\n",
       "      <td>[458]</td>\n",
       "      <td>伍佰 &amp; China Blue</td>\n",
       "      <td>3.0</td>\n",
       "      <td>min_4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>GsCpr618xfveHYJdo+E5SybrpR906tsjLMeKyrCNw8s=</td>\n",
       "      <td>[465]</td>\n",
       "      <td>光良 (Michael Wong)</td>\n",
       "      <td>3.0</td>\n",
       "      <td>min_4.5</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>oTi7oINPX+rxoGp+3O6llSltQTl80jDqHoULfRoLcG4=</td>\n",
       "      <td>[465]</td>\n",
       "      <td>林俊傑 (JJ Lin)</td>\n",
       "      <td>3.0</td>\n",
       "      <td>min_4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>btcG03OHY3GNKWccPP0auvtSbhxog/kllIIOx5grE/k=</td>\n",
       "      <td>[352, 1995]</td>\n",
       "      <td>Kodaline</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_4</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                        song_id             genre_ids  \\\n",
       "5  kKJ2JNU5h8rphyW21ovC+RZU+yEHPM+3w85J37p7vEQ=  [864, 857, 850, 843]   \n",
       "6  N9vbanw7BSMoUgdfJlgX1aZPE1XZg8OS1wf88AQEcMc=                 [458]   \n",
       "7  GsCpr618xfveHYJdo+E5SybrpR906tsjLMeKyrCNw8s=                 [465]   \n",
       "8  oTi7oINPX+rxoGp+3O6llSltQTl80jDqHoULfRoLcG4=                 [465]   \n",
       "9  btcG03OHY3GNKWccPP0auvtSbhxog/kllIIOx5grE/k=           [352, 1995]   \n",
       "\n",
       "         artist_name  language song_length_range  genre_count  \n",
       "5               貴族精選      17.0             min_4            4  \n",
       "6    伍佰 & China Blue       3.0             min_4            1  \n",
       "7  光良 (Michael Wong)       3.0           min_4.5            1  \n",
       "8       林俊傑 (JJ Lin)       3.0             min_4            1  \n",
       "9           Kodaline      52.0             min_4            2  "
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_songs[5:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    （5）数据类型\n",
    "                  \n",
    "                  规整数据格式，如把数值型的类别特征转为类别型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 类别型：train 和 test\n",
    "df_train['source_system_tab'] = df_train['source_system_tab'].astype(\"category\")\n",
    "df_test['source_system_tab'] = df_test['source_system_tab'].astype(\"category\")\n",
    "\n",
    "df_train['source_screen_name'] = df_train['source_screen_name'].astype(\"category\")\n",
    "df_test['source_screen_name'] = df_test['source_screen_name'].astype(\"category\")  # 有未知类别（People local、People global）\n",
    "\n",
    "df_train['source_type'] = df_train['source_type'].astype(\"category\")\n",
    "df_test['source_type'] = df_test['source_type'].astype(\"category\")\n",
    "\n",
    "# 类别型：members\n",
    "df_members['city'] = df_members['city'].astype(\"category\")\n",
    "df_members['registered_via'] = df_members['registered_via'].astype(\"category\")\n",
    "\n",
    "# 类别型：songs\n",
    "df_songs['language'] = df_songs['language'].astype(\"category\")\n",
    "\n",
    "# 数值型：song_extra_info\n",
    "df_songs_extra['song_year'] = df_songs_extra['song_year'].astype(\"int\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.5、表合并\n",
    "\n",
    "    合并train和test表，统一处理\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(9934208, 7)"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train['source'] = 'train'\n",
    "df_test['source'] = 'test'\n",
    "\n",
    "data = pd.concat([df_train, df_test], ignore_index=True)\n",
    "data.drop(['id'], axis=1, inplace=True)\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    连接其他表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data.merge(df_members, how=\"left\", on=\"msno\")\n",
    "data = data.merge(df_songs, how=\"left\", on=\"song_id\")\n",
    "data = data.merge(df_songs_extra, how=\"left\", on=\"song_id\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    查看 data 表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>msno</th>\n",
       "      <th>song_id</th>\n",
       "      <th>source</th>\n",
       "      <th>source_screen_name</th>\n",
       "      <th>source_system_tab</th>\n",
       "      <th>source_type</th>\n",
       "      <th>target</th>\n",
       "      <th>city</th>\n",
       "      <th>registered_via</th>\n",
       "      <th>age_category</th>\n",
       "      <th>use_time_range</th>\n",
       "      <th>genre_ids</th>\n",
       "      <th>artist_name</th>\n",
       "      <th>language</th>\n",
       "      <th>song_length_range</th>\n",
       "      <th>genre_count</th>\n",
       "      <th>song_year</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=</td>\n",
       "      <td>BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=</td>\n",
       "      <td>train</td>\n",
       "      <td>Explore</td>\n",
       "      <td>explore</td>\n",
       "      <td>online-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>undefined</td>\n",
       "      <td>year_6</td>\n",
       "      <td>[359]</td>\n",
       "      <td>Bastille</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_3.5</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=</td>\n",
       "      <td>train</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>my library</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13</td>\n",
       "      <td>9</td>\n",
       "      <td>young_adult</td>\n",
       "      <td>year_7</td>\n",
       "      <td>[1259]</td>\n",
       "      <td>Various Artists</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_6</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1999.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=</td>\n",
       "      <td>train</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>my library</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13</td>\n",
       "      <td>9</td>\n",
       "      <td>young_adult</td>\n",
       "      <td>year_7</td>\n",
       "      <td>[1259]</td>\n",
       "      <td>Nas</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_4</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2006.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=</td>\n",
       "      <td>train</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>my library</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13</td>\n",
       "      <td>9</td>\n",
       "      <td>young_adult</td>\n",
       "      <td>year_7</td>\n",
       "      <td>[1019]</td>\n",
       "      <td>Soundway</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>min_4.5</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2010.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=</td>\n",
       "      <td>3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=</td>\n",
       "      <td>train</td>\n",
       "      <td>Explore</td>\n",
       "      <td>explore</td>\n",
       "      <td>online-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>undefined</td>\n",
       "      <td>year_6</td>\n",
       "      <td>[1011]</td>\n",
       "      <td>Brett Young</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_3.5</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           msno  \\\n",
       "0  FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=   \n",
       "1  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "2  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "3  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "4  FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=   \n",
       "\n",
       "                                        song_id source   source_screen_name  \\\n",
       "0  BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=  train              Explore   \n",
       "1  bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=  train  Local playlist more   \n",
       "2  JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=  train  Local playlist more   \n",
       "3  2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=  train  Local playlist more   \n",
       "4  3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=  train              Explore   \n",
       "\n",
       "  source_system_tab      source_type  target city registered_via age_category  \\\n",
       "0           explore  online-playlist     1.0    1              7    undefined   \n",
       "1        my library   local-playlist     1.0   13              9  young_adult   \n",
       "2        my library   local-playlist     1.0   13              9  young_adult   \n",
       "3        my library   local-playlist     1.0   13              9  young_adult   \n",
       "4           explore  online-playlist     1.0    1              7    undefined   \n",
       "\n",
       "  use_time_range genre_ids      artist_name language song_length_range  \\\n",
       "0         year_6     [359]         Bastille     52.0           min_3.5   \n",
       "1         year_7    [1259]  Various Artists     52.0             min_6   \n",
       "2         year_7    [1259]              Nas     52.0             min_4   \n",
       "3         year_7    [1019]         Soundway     -1.0           min_4.5   \n",
       "4         year_6    [1011]      Brett Young     52.0           min_3.5   \n",
       "\n",
       "   genre_count  song_year  \n",
       "0          1.0     2016.0  \n",
       "1          1.0     1999.0  \n",
       "2          1.0     2006.0  \n",
       "3          1.0     2010.0  \n",
       "4          1.0     2016.0  "
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "msno                        0\n",
       "song_id                     0\n",
       "source                      0\n",
       "source_screen_name          0\n",
       "source_system_tab           0\n",
       "source_type                 0\n",
       "target                2556790\n",
       "city                        0\n",
       "registered_via              0\n",
       "age_category                0\n",
       "use_time_range              0\n",
       "genre_ids                 139\n",
       "artist_name               139\n",
       "language                  139\n",
       "song_length_range         139\n",
       "genre_count               139\n",
       "song_year                2226\n",
       "dtype: int64"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.apply(lambda x: sum(x.isnull()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 处理冷启动数据\n",
    "data['genre_ids'].fillna(value=\"Unknown\", inplace=True)\n",
    "data['genre_count'].fillna(value=0, inplace=True)\n",
    "data['artist_name'].fillna(value=\"Unknown\", inplace=True)\n",
    "\n",
    "data['language'].fillna(value=data['language'].mode()[0], inplace=True)\n",
    "data['song_length_range'].fillna(value=data['song_length_range'].mode()[0], inplace=True)\n",
    "\n",
    "data['song_year'].fillna(value=0, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.6、其他处理\n",
    "\n",
    "    合并表后，有些特征又表现出新的特性，如artist_name，可以转换成该作者的播放次数、重复播放次数、重复率。\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_artists = data.loc[:, [\"artist_name\",\"target\"]]\n",
    "\n",
    "data_artists_play = data_artists.groupby([\"artist_name\"], as_index=False).count().rename(columns = {\"target\": \"play_count\"})\n",
    "data_artists_rep = data_artists.groupby([\"artist_name\"], as_index=False).sum().rename(columns = {\"target\": \"repeat_count\"})\n",
    "\n",
    "data_artist_repeats = data_artists_play.merge(data_artists_rep, how=\"inner\", on=\"artist_name\")\n",
    "data_artist_repeats[\"repeat_percentage\"] = round((data_artist_repeats['repeat_count']*100) / data_artist_repeats['play_count'], 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data.merge(data_artist_repeats, on=\"artist_name\", how=\"left\").rename(columns={\"play_count\": \"artist_play_count\", \n",
    "                                                                                                                           \"repeat_count\": \"artist_repeat_count\",\n",
    "                                                                                                                            \"repeat_percentage\": \"artist_repeat_percentage\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [],
   "source": [
    "data.drop([\"artist_name\"], axis=1, inplace=True)\n",
    "\n",
    "del data_artist_repeats\n",
    "del data_artists_play\n",
    "del data_artists_rep\n",
    "del data_artists"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    全部转为类别型特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 由于之前的test表有未知类别（People local、People global），所以 train表和test表 合并后才能转换\n",
    "data['msno'] = data['msno'].astype(\"category\")\n",
    "data['song_id'] = data['song_id'].astype(\"category\")\n",
    "\n",
    "data['source_screen_name'] = data['source_screen_name'].astype(\"category\")\n",
    "\n",
    "# data = data.to_string(columns=['genre_ids'])\n",
    "# data['genre_ids'] = data['genre_ids'].astype(\"category\")\n",
    "data = data.drop(\"genre_ids\", axis = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 9934208 entries, 0 to 9934207\n",
      "Data columns (total 18 columns):\n",
      "msno                        category\n",
      "song_id                     category\n",
      "source                      object\n",
      "source_screen_name          category\n",
      "source_system_tab           category\n",
      "source_type                 category\n",
      "target                      float64\n",
      "city                        category\n",
      "registered_via              category\n",
      "age_category                category\n",
      "use_time_range              category\n",
      "language                    category\n",
      "song_length_range           category\n",
      "genre_count                 float64\n",
      "song_year                   float64\n",
      "artist_play_count           int64\n",
      "artist_repeat_count         float64\n",
      "artist_repeat_percentage    float64\n",
      "dtypes: category(11), float64(5), int64(1), object(1)\n",
      "memory usage: 792.1+ MB\n"
     ]
    }
   ],
   "source": [
    "data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>msno</th>\n",
       "      <th>song_id</th>\n",
       "      <th>source</th>\n",
       "      <th>source_screen_name</th>\n",
       "      <th>source_system_tab</th>\n",
       "      <th>source_type</th>\n",
       "      <th>target</th>\n",
       "      <th>city</th>\n",
       "      <th>registered_via</th>\n",
       "      <th>age_category</th>\n",
       "      <th>use_time_range</th>\n",
       "      <th>language</th>\n",
       "      <th>song_length_range</th>\n",
       "      <th>genre_count</th>\n",
       "      <th>song_year</th>\n",
       "      <th>artist_play_count</th>\n",
       "      <th>artist_repeat_count</th>\n",
       "      <th>artist_repeat_percentage</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=</td>\n",
       "      <td>BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=</td>\n",
       "      <td>train</td>\n",
       "      <td>Explore</td>\n",
       "      <td>explore</td>\n",
       "      <td>online-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>undefined</td>\n",
       "      <td>year_6</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_3.5</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>1140</td>\n",
       "      <td>528.0</td>\n",
       "      <td>46.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=</td>\n",
       "      <td>train</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>my library</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13</td>\n",
       "      <td>9</td>\n",
       "      <td>young_adult</td>\n",
       "      <td>year_7</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_6</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1999.0</td>\n",
       "      <td>303616</td>\n",
       "      <td>154799.0</td>\n",
       "      <td>51.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=</td>\n",
       "      <td>train</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>my library</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13</td>\n",
       "      <td>9</td>\n",
       "      <td>young_adult</td>\n",
       "      <td>year_7</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_4</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2006.0</td>\n",
       "      <td>289</td>\n",
       "      <td>62.0</td>\n",
       "      <td>21.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=</td>\n",
       "      <td>2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=</td>\n",
       "      <td>train</td>\n",
       "      <td>Local playlist more</td>\n",
       "      <td>my library</td>\n",
       "      <td>local-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13</td>\n",
       "      <td>9</td>\n",
       "      <td>young_adult</td>\n",
       "      <td>year_7</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>min_4.5</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2010.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>100.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=</td>\n",
       "      <td>3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=</td>\n",
       "      <td>train</td>\n",
       "      <td>Explore</td>\n",
       "      <td>explore</td>\n",
       "      <td>online-playlist</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>undefined</td>\n",
       "      <td>year_6</td>\n",
       "      <td>52.0</td>\n",
       "      <td>min_3.5</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>427</td>\n",
       "      <td>161.0</td>\n",
       "      <td>37.7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           msno  \\\n",
       "0  FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=   \n",
       "1  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "2  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "3  Xumu+NIjS6QYVxDS4/t3SawvJ7viT9hPKXmf0RtLNx8=   \n",
       "4  FGtllVqz18RPiwJj/edr2gV78zirAiY/9SmYvia+kCg=   \n",
       "\n",
       "                                        song_id source   source_screen_name  \\\n",
       "0  BBzumQNXUHKdEBOB7mAJuzok+IJA1c2Ryg/yzTF6tik=  train              Explore   \n",
       "1  bhp/MpSNoqoxOIB+/l8WPqu6jldth4DIpCm3ayXnJqM=  train  Local playlist more   \n",
       "2  JNWfrrC7zNN7BdMpsISKa4Mw+xVJYNnxXh3/Epw7QgY=  train  Local playlist more   \n",
       "3  2A87tzfnJTSWqD7gIZHisolhe4DMdzkbd6LzO1KHjNs=  train  Local playlist more   \n",
       "4  3qm6XTZ6MOCU11x8FIVbAGH5l5uMkT3/ZalWG1oo2Gc=  train              Explore   \n",
       "\n",
       "  source_system_tab      source_type  target city registered_via age_category  \\\n",
       "0           explore  online-playlist     1.0    1              7    undefined   \n",
       "1        my library   local-playlist     1.0   13              9  young_adult   \n",
       "2        my library   local-playlist     1.0   13              9  young_adult   \n",
       "3        my library   local-playlist     1.0   13              9  young_adult   \n",
       "4           explore  online-playlist     1.0    1              7    undefined   \n",
       "\n",
       "  use_time_range language song_length_range  genre_count  song_year  \\\n",
       "0         year_6     52.0           min_3.5          1.0     2016.0   \n",
       "1         year_7     52.0             min_6          1.0     1999.0   \n",
       "2         year_7     52.0             min_4          1.0     2006.0   \n",
       "3         year_7     -1.0           min_4.5          1.0     2010.0   \n",
       "4         year_6     52.0           min_3.5          1.0     2016.0   \n",
       "\n",
       "   artist_play_count  artist_repeat_count  artist_repeat_percentage  \n",
       "0               1140                528.0                      46.3  \n",
       "1             303616             154799.0                      51.0  \n",
       "2                289                 62.0                      21.5  \n",
       "3                  1                  1.0                     100.0  \n",
       "4                427                161.0                      37.7  "
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.8、导出数据\n",
    "\n",
    "#### （1） 导出类别型数据\n",
    "\n",
    "    category型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 拆分表\n",
    "train = data.loc[data['source']=='train']\n",
    "test = data.loc[data['source']=='test']\n",
    "\n",
    "train['target'] = train['target'].astype(\"int\")\n",
    "\n",
    "train.drop('source', axis=1, inplace=True)\n",
    "test.drop(['source', 'target'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 保存特征工程的结果\n",
    "train.to_csv('data/FE_train_category.csv', index=False)\n",
    "test.to_csv('data/FE_test_category.csv', index=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （2） 导出数值型数据\n",
    "\n",
    "    float型、int型，类别型进行独热编码one-hot。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 没写"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
